元素的局中对齐问题,CSS盒属性使用技巧,前端开发必备
本文介绍的盒属性应用包括以下几点:
-
块级元素在容器中的水平居中
-
绝对定位的块级元素在页面中水平垂直居中
-
去掉所有HTML元素的边界和填充值
-
去掉无序列表左侧为项目符号留出的位置
一、块级元素在容器中的居中问题:
我们都知道,块级元素在默认情况下是占据容器整行的宽度的。如果对块级元素设置了width和height属性,又希望块级元素在容器内部水平居中,需要如何设置呢?
这里盒属性为我们提供了下列技巧:
将块级元素的左边界设置为auto,右边界设置为auto即可实现块级元素在容器中的居中。
代码格式如下所示:
格式1:element{ margin-left:auto; margin-right:auto; }
格式2:element{ margin:0 auto; }
例1:设置一个块级元素,id属性取值为box。将其宽度和高度设置为200像素,背景颜色设置为红色,让它在页面中水平居中。
#box{
width:200px; height:200px;
background-color:#ff5857;
margin:0 auto;
}
二、绝对定位的块级元素在页面中水平垂直居中:
当一个块级元素设置了绝对定位后,希望这个块级元素出现在页面的正中心。由于不同的显示器分辨率不同,如果要适配各种显示器,就需要将相应的位置属性设置为50%。
如果将绝对定位后的块级元素的left和top属性均设置为50%,则块级元素的左上角位置将会出现在页面的正中心。我们当然是希望块级元素的中心出现在页面的正中心,这又该如何解决呢?
解决方案1:这里盒属性为我们提供了下列技巧。
将块级元素的左边界调整为块级元素宽度的一半,并设置为负值,将上边界设置为块级元素高度的一半,也设置为负值。
例2:设置一个块级元素,id属性取值为box。将其宽度设置为400像素,高度设置为600像素,背景颜色设置为红色,让它在页面的正中心出现。
#box{
width:400px; height:600px;
background-color: #ff5857;
position:absolute;
left:50%; top:50%;
margin-left: -200px;
margin-top: -300px;
}
解决方案2:这里盒属性还为我们提供了第二种技巧。
将块级元素的四个方向的位置属性均设置为0,将其margin属性设置为auto。
上述例2的CSS代码改为下列格式:
#box{
width:400px; height:600px;
background-color: #ff5857;
position:absolute;
left:0; top:0; right:0; bottom:0;
margin:auto;
}
三、去掉所有HTML元素的边界和填充值:
在页面设置,尤其是移动端开发时,有时需要将HTML中所有元素的边界和填充值全部去掉。这就需要在页面链接的CSS文件的第一行书写下列语句:
*{ margin:0; padding:0}
其中*代表CSS中的通配选择器,表示HTML中的所有元素。
当然,这样的操作也会影响本身就需要具备边界的标记对,例如
标记对。这就需要再为标记对重新设置边界值。这样一来,整体的代码如下所示:
*{ margin:0; padding:0}
p{ margin:10px 0; }
四、去掉无序列表左侧为项目符号留出的位置:
在设计时,如果需要将无序列表左侧的项目符号去掉,可以使用list-style-type属性,将该属性取值为none就可以去掉左侧的项目符号。但是我们也同时会发现,使用了这个属性之后,项目符号没有了,但是项目符号的位置依然存在。所有的列表项并没有因为项目符号的消失而成功的移动到项目符号原有的位置处。
这里盒属性为我们提供了下列技巧:
将无序列表的margin-left设置为负值即可调整列表项向左侧位置处显示。一般系统为无序列表的项目符号预留的是40像素的位置,因此将margin-left属性设置为-40像素即可。
ul{
list-style-type:none;
margin-left:-40px;
}
这种用法当然也适用于有序列表
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 元素的局中对齐问题,CSS盒属性使用技巧,前端开发必备
本文地址: https://pptw.com/jishu/668951.html