<div class="parent-container"> <button class="bt-read">续读</button></div>.parent-container{ margin-left: 20rpx; /* 父容器必须是相对定位,子容器的绝对定位才能达到预想效果 */ position: rela...
相对于其源文档流的位置进行定位,没有脱离文档流.
通俗地讲就是相对于以前的位置进行偏移.
也就是如果你不写
position
: re
lative
的值
元素
处在页面的位置时,这个就是以前位置,加上top后发生的距离以前的位置的偏移.
position
:
absolute
相对于最近的一个
父
元素
设置了
position
: re
lative
的进行定位,子绝
父
相
参考:https://segmentfault.com/a/1190000017756571
在不用flex、grid等布局的前提下,有些时候我们希望将一个
元素
不占位定位到某一个地方,比如说居右,由于要求
元素
不占位,所以float: right也不能完成需求。
有一个简易的解决办法,下面是样式sample:
.
absolute
-right {
position
:
absolute
;
right: 50%;
这边的right: 50%是
父
元素
宽度的50%,相当于把这个
元素
置于
父
元素
的中间,这边还需要注意的是考虑
元素
的width。这个方法不管屏幕分辨率是多少都是可以做到定位
如果想让
父
级
元素
在子
元素
之上,即z-index:100; 子
元素
为z-index:90,这样是不行的,因为子
元素
始终都是在
父
级
元素
之内,且会一直在
父
元素
之上,而不管它的z-index是不是比
父
级
元素
的小。
但是我又想让
父
元素
在子
元素
之上又该 怎么办呢?
实现
子
元素
相对
父
元素
固定定位的方法就是,给
父
元素
添加transform:translate(0,0);位移为0,
然后给要固定定位的子
元素
添加
position
:fixed;
这样就可以
实现
子
元素
相对于
父
元素
固定定位了
display:flex;/*弹性布局*/
align-items: center;/*子
元素
垂直居中*/
justify-content: center;/*子
元素
水平居中*/
justify-content: space-around;/*子
元素
充满
父
元素
*/
justify-content: space-between;/*子
元素
两端对齐*/
子
元素
:
margin-left:auto;/*子
元素
在
父
容器
中右对齐*/
②
position
:fixed 固定定位 是相对于浏览器窗口来进行定位;
③
position
:re
lative
相对定位 相对于其本身正常位置来进行定位,它原本所占的空间仍保留;
④
position
:
absolute
绝对定位 相对于定位方式不是static的第一个
父
元素
进行定位(往上寻找参照
元素
,一直到根
元素
为止,即body),此时
元素
原先在正常文档流中所占的空间会关闭..
【
position
:
absolute
】
意思是绝对定位,他默认参照浏览器的左上角,
配合
TOP、RIGHT、BOTTOM、LEFT(下面简称TRBL)进行定位,有以下属性:
1)如果没有TRBL,以
父
级的左上角,在没有
父
级的时候,他是参照浏览器左上角,如果在没有
父
级
元素
的情况下,存在文本,则以它前面
的最后一个文字的
右上角
为原点进行定位但是不断开文字,覆盖于上方。
2)如果设定TRBL,并且...
div class="today_hot">
div class="head">精彩推荐div>
a class="more" href="mobilede.html" target="_self" data-boss="fun=c_more">更多a>
父
类div不加
position
:re
lative
更多
显示
在了
右上角
加了re
lative
后
1、单独使用:re
lative
:相对于本身偏移,没有脱离文档流。
absolute
:相对于浏览器定位,脱离了文档流,也就是不占位置。在没有设定TRBL值时是根据
父
级对象的坐标作为始点的,当设定TRBL值后则根据浏览器的左上角作为原始点,如下:(没有设置TRBL) <style>
body{
margin: 0;
pad...
Re
lative
与
Absolute
组合使用1、参照定位的
元素
必须是相对定位
元素
的前辈
元素
:<div id="box1"><!--参照定位的
元素
-->
<div id="box2">相对参照
元素
进行定位</div><!--相对定位
元素
-->
</div>从上面代码可以看出box1是box2的
父
元素
(
父
元素
当然也是前辈
元素
了)。
2、参照定位的
元素
必须加入
position
:re
lative
;#
left: 50%; // 设置左边距为
父
元素
宽度的50%
transform: translateX(-50%); // 将
元素
向左移动该
元素
宽度的50%, 即使子
元素
的宽度大于
父
元素
宽度,
二
者依然可以保持中心线对齐
假设有这样的
元素
<div class="parent">
<div class="child"></d...