margin-right:auto|length|%
值 | 描述 |
---|---|
auto | 浏览器设置的右外边距。 |
length | 定义固定的右外边距。默认值是 0。 |
% | 定义基于父对象总宽度的百分比右外边距。 |
示例1:百分比的相对值
设置一个 p 元素的右边距为容器宽度的 50%
p.ex1 { margin-right: 50% }一个没有指定边距大小的段落。一个没有指定边距大小的段落。一个没有指定边距大小的段落。
一个右边距为容器宽度的 50%的段落。一个右边距为容器宽度的 50%的段落。一个右边距为容器宽度的 50%的段落。一个右边距为容器宽度的 50%的段落。一个右边距为容器宽度的 50%的段落。
示例2:设置固定值
设置一个 p 元素的右边距为 50px
p.ex1 { margin-right: 50px; }一个没有指定边距大小的段落。一个没有指定边距大小的段落。一个没有指定边距大小的段落。
一个右边距为 50px 的段落。一个右边距为 50px 的段落。一个右边距为 50px 的段落。一个右边距为 50px 的段落。一个右边距为 50px 的段落。
扩展知识:margin负值
负边距即margin属性的值设为负值,在CSS布局中时一个很有用的技巧。值为正的场景很常见,大家都很熟悉其表现
当margin-top、margin-left为负值的时候,会把元素上移、左移,同时文档流中的位置也发生相应变化,这点与position:relative的元素设置top、left后元素还占据原来位置不同
当margin-bottom、margin-right设为负值的时候,元素本身没有位置变化,后面的元素会下移、右移。
你遇到的情况这里应该都会包含:
块级元素设置 margin-top margin-bottom 都会发生位移,只不过设置 margin-bottom,会发生位移的是其后边的元素;
行内元素 设置margin-top margin-bottom 都不会发生位移,添加绝对定位(让其脱离文档流,比如浮动固定定位),设置margin-top会发生位移; 改变vertical-align的设置(middle top),行内块元素设置 margin-top margin-bottom 可以发生位移;
设置 margin-left 块级元素和行内元素都会发生位移,不同的是块级元素后边的内容不会发生位移,行内元素后的内容会发生位移(因为行内元素后的内容是跟它在同一行呀);
块级元素 设置 margin-right,自身宽度增加;行内元素 设置 margin-right,元素后边的行内元素会根据数值位移
注:影响margin显示效果的因素:display 定位机制 verticle-align
(学习视频分享:css视频教学、web前端)