positon,text-align,margin的定位问题?小弟不太理解
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{margin: 0; padding: 0;}
.head{width: 100%;height: 90px; background-color: black;
overflow: hidden;
position: fixed;
top: 0;
z-index: 1;}
.head .logo{
width: auto;
height: 90px;
float: left;
}
.head .nav{
float: right;
margin-right: 80px;
}
.head .nav li{
list-style-type: none;
float: left;
font-size: 20px;
line-height: 90px;
color: white;
margin-right: 60px;
}
.head .nav:hover li{cursor:pointer;}
/*内容框架*/
.container{
width: 100%;height: 4000px;
margin-top: 90px;/********老师这里有一个问题*******/
background-color: #00FFCC;
overflow: hidden;
}
/*内容--左半部*/
.container .left{
width: 50%;height: 2000px;
float: left;
position: absolute;
top:400px;
left: 20%;
overflow: hidden;
}
.container .left h4{
font-size: 26px;
font-weight: bold;
margin-bottom: 20px;
}
.container .left .title{
width: auto;
height: auto;
float: left;
}
.container .left .title li{
border: 1px #00FFCC solid;
background-color: pink;
list-style-type: none;
margin-bottom: 5px;
}
.container .left .list{
width: auto;
height: auto;
margin-left: 30px;
float: left;
}
.container .left .list li{
border: 1px #00FFCC solid;
list-style-type: none;
margin-bottom: 5px;
}
/*内容--右半部*/
.container .right{
width: 50%; height:2000px;
position: absolute;
top: 400px;
left: 60%;
float: left;
}
.container .right h4{
font-size: 26px;
font-weight: bold;
margin-bottom: 20px;
}
.container .right div ul li{
border: 1px #00FFCC solid;
list-style-type: none;
margin-bottom: 5px;
float: left;
margin-right: 50px;
}
.container .right .line_1{
overflow: hidden;
}
.container .right .line_2{
overflow: hidden;
}
.container .right .line_3{
overflow: hidden;
}
/*尾部*/
.foot{
width: 100%;height: 80px;background-color: black;
overflow: hidden;
position: fixed;
bottom: 0;
}
.foot .nav_2{
margin-left: 20%;
overflow: hidden;
}
.foot .nav_2 ul li{
list-style-type: none;
font-size: 26px;
font-weight: bold;
color: white;
float: left;
line-height: 80px;
margin-right: 50px;
}
.foot .nav_2:hover li{cursor: pointer;}
}
</style>
</head>
<body>
<div class="head">
<div class="logo">
<img src="http://img1.sycdn.imooc.com/climg//58c0d2d900016ce303000100.png">
</div>
<div class="nav">
<ul>
<li>课程</li>
<li>职业路径</li>
<li>实战</li>
<li>猿问</li>
<li>手记</li>
</ul>
</div>
</div>
<div class="container">
<div class="left">
<h4>课程推荐</h4>
<div class="title">
<ul>
<li>职业路径</li>
<li>职业路径</li>
<li>职业路径</li>
<li>职业路径</li>
<li>职业路径</li>
</ul>
</div>
<div class="list">
<ul>
<li>HTML5与CSS3实现网页动态</li>
<li>零基础入门Android语法与界面</li>
<li>IOS基础语法与常用控件</li>
<li>PHP入门开发</li>
<li>JAVA入门开发</li>
</ul>
</div>
</div>
<div class="right">
<h4>相关课程</h4>
<div class="line_1">
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
</ul>
</div>
<div class="line_2">
<ul>
<li>HTML5</li>
<li>CSS3</li>
<li>JQurey</li>
</ul>
</div>
<div class="line_3">
<ul>
<li>移动端基础</li>
<li>移动端APP开发</li>
</ul>
</div>
</dir>
</div>
<div class="foot">
<div class="nav_2">
<ul>
<li>网站首页</li>
<li>企业合作</li>
<li>人才招聘</li>
<li>联系我们</li>
<li>常见问题</li>
<li>友情链接</li>
</ul>
</div>
</div>
</body>
</html>老师我有两个问题想请教:1.我上面备注的地方,我把中间内容部分通过外边框挤出了90px(和头部一样高的)宽度,但是我在设置中间的“课程推荐”内容的时候我通过定位 position:absolute 来定位我内容的位置,当我设置top为0的时候,内容会给头部覆盖。 我自己的理解就是:“position是在可视区域进行调整的,所以设着为top设置为0的时候,会给覆盖。”这样理解对吗?
2.对于底部的居中问题:div,ul,li都是块元素,之前说text-align只对块级元素有效,但是这个text-align却不能实现居中效果;不仅这个我尝试过用margin:0 auto;对页尾进行居中但是也没效果,如果这个不行的话我又不太理解为什么margin-left:20%可以对我页尾列表进行挪动
正在回答
定位元素参照的不是可视区域 , 而是参照离它最近的已定位的祖先元素 ,.如果没有最近的已定位的祖先元素 , 那么元素会参照html定位 , 通俗的说 ,定位元素如果它的祖先元素( 如父元素 , 爷爷元素....)设置了定位 ,它会参照离它最近的祖先元素定位 , 也就是父元素 . 页面找不到div.left的已定位的祖先元素 , 它会根据整个html定位. 所以代码中可给它父元素设置相对定位:

2.text-align主要是针对文本水平对齐 . (同学说的text-align只对块级元素有效是有课程中讲到吗 ? 可以告诉老师一下具体那节课程哦 ) . 可如下设置实现居中


如果使用margin:0 auto;的话需要给ul设置固定宽度:

希望解答了你的疑惑 , 祝学习愉快 ,望采纳
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星