为了账号安全,请及时绑定邮箱和手机立即绑定

求教各位大神两个问题?

<head>

<meta charset="utf-8">

<title>不定宽块状元素水平居中</title>

<style>

.container{

    float:left;

position:relative;

left:50%

}


.container ul{

list-style:none;

margin:0;

padding:0;

position:relative;

left:-50%;

第一个问题是:

 float和position:relative为什么能同时使用,这个知识点怎么理解。

第二个问题是:

母元素的50%和子元素的-50%怎么理解

正在回答

2 回答

我来回答下

两者同时使用各司其职没问题 先设置用相对定位和left 50% 意思是在他的父元素也就是大div里划一条垂直线平分为左右两块图中的红色线。此时小div(黑色小矩形)的内容的位置是从红色平分线开始的   

子元素设置 左浮动-50%(我自己试了下 都改成右浮动正50%也行)并没有设置具体上下顶底的偏移位置也就是仅仅左浮动贴着内容快的开始位置 就是顶着蓝色平分线那里的黄圈

 这样在body中看就是居中了   第二个问题你也就明白了吧

我自己看这一章看了好多遍 真不容易 http://img1.sycdn.imooc.com//5875ab690001a09511520648.jpg

0 回复 有任何疑惑可以回复我~
#1

鸣人4245949 提问者

你解答的第二个问题好像没有提到 浮动定位。你列举的这个线条如红线和蓝线。感觉和慕课的例子一样,突然冒出来的,感觉也不是逆向思维解答
2017-01-11 回复 有任何疑惑可以回复我~
#2

鸣人4245949 提问者

float:left; position:relative; left:50% 上面的这段代码,我想问一下:是先浮动定位、还是先相对定位?如果是先相对定位,那我理解的是:物体向左移动了半个身位,这个时候如果再向左浮动,那不是整个物体都到左边了吗
2017-01-11 回复 有任何疑惑可以回复我~
#3

qq_浮雲遊子_03977413 回复 鸣人4245949 提问者

浮动定位可以设置如left;20px 也可以设置left;50% 就是以蓝和红线为中心这两条线(不存在,我为了便于你理解加上的)如果left 50%就是上图所示 这个我不会解释~~~~你记住就行
2017-01-11 回复 有任何疑惑可以回复我~
#4

qq_浮雲遊子_03977413 回复 鸣人4245949 提问者

50%并不是一半的意思 是上面我解释的以父元素中心线为标准的位置
2017-01-11 回复 有任何疑惑可以回复我~
#5

鸣人4245949 提问者 回复 qq_浮雲遊子_03977413

谢谢!
2017-01-11 回复 有任何疑惑可以回复我~
#6

鸣人4245949 提问者 回复 qq_浮雲遊子_03977413

虽然理解不了,只能死记了。
2017-01-11 回复 有任何疑惑可以回复我~
#7

qq_浮雲遊子_03977413 回复 鸣人4245949 提问者

采纳一下吧
2017-01-11 回复 有任何疑惑可以回复我~
#8

鸣人4245949 提问者 回复 qq_浮雲遊子_03977413

嗯,谢谢你!
2017-01-12 回复 有任何疑惑可以回复我~
查看5条回复

postion:relative是子块级元素面向父级元素的相对定位,定位关键字使用left/right/top/bottom。兄弟块元素之间相对进行定位,但是position移动后,原位置依然保留。而且随后的兄弟块元素定位基于被移走前的位置。

float:right/left是子块级元素流集合面向父级元素的定位,定位的关键词使用margin/padding。兄弟块元素之间进行相对的定位均基于移动后的新位置进行重新渲染,可以重叠,原位置被清空。

二者之中最大的差别就是位置保留。

母元素的50%和子元素的-50%怎么理解:

母元素的向左50%,子元素是向左偏移了是父元素宽度的50%。

3 回复 有任何疑惑可以回复我~
#1

鸣人4245949 提问者

非常感谢
2016-12-29 回复 有任何疑惑可以回复我~
#2

白石青

但是还是不太明白为什么这里两者同时使用,又何必要?或这同时使用的原因是?仅仅是为了在父元素向右浮动的同时腾出父元素原来的空间而不让别的块级元素占据这个原因吗?这又有什么必要呢?有点理不清了,求指教。
2017-01-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识HTML(5)+CSS(3)-升级版
  • 参与学习       1226698    人
  • 解答问题       18245    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

求教各位大神两个问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信