首页 > 网站 > WEB开发 > 正文

auto的使用

2024-04-27 14:29:28
字体:
来源:转载
供稿:网友
auto的使用

html

1 <div class="container">2     <div class="demo">  3     </div>4 </div>  

CSS

 1 .container{ 2       width:150px; 3       height:50px; 4       background:rgb(236,100,143); 5 } 6 .demo{ 7       background:rgb(141,163,210); 8       width:auto; 9       height:50px;10       margin-left:10px;11       margin-right:10px;12 }

1.margin-left与width为定值,margin-right:auto

此时写作auto状态的margin-right其实值为150-50-10=90px。

2.margin-left与margin-right为定值10px,width:auto

此时写作auto状态的width其实值为150-10-10=130px。

3.width为定值100px,margin-left和margin-right都是auto

此时.demo居中,写作auto状态的margin-left和margin-right值都为(150-100)/2=25px。

4.margin-left为定值10px,width和margin-right都是auto

此时设置为auto的外边距会减为0(margin-right:0),width值为150-10=140px。

5.margin-left,margin-right,width三者都设为auto

此时两个外边距都会设置为0,width值为150-0-0=150px。

说明

  1. 当margin-left,margin-right,width三者都设定值且总和大于父元素的宽度时(过分受限),margin-right将会被重置以符合宽度要求(针对从左往右读的语言,反之则重置margin-left)。
  2. padding和border都不能设置为auto,也绝不能为负数。
  3. 在正常流中margin-top或margin-bottom设置为auto会自动计算为0,无法做到垂直居中。
  4. margin:0 auto的水平居中效果不适用于内联元素(p,img),内联元素的水平居中可以用text-align:center,非要使用margin必须先display:block将其变为块状元素。


参考资料

《CSS权威指南》第7章 基本视觉格式化


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表