CSS 盒模型

边框属性

border: 边框的宽度 边框的样式 边框的颜色;

连写

上右下左方向连写(分别设置四条边)

示例:

<style>   .box{
            width: 100px;
            height: 100px;
            background-color: red;
            border-top:5px solid blue;
            border-right:10px dashed green;
            border-bottom:15px dotted purple;
            border-left:20px double pink;
        }</style>

上 右 下 左方向要素连写(分别设置四条边) border-width:  border-style:  border-color:

<style>.box{
            width: 500px;
            height: 500px;
            background-color: red;
            border-width: 5px 10px 15px 20px;
            border-style: solid dashed dotted double;
            border-color: blue green purple pink;
        }</style>

这三个属性的取值省略时的规律

上 右 下 左 > 上 右 下 > 左边的取值和右边的一样

上 右 下 左 > 上 右 > 左边的取值和右边的一样 下边的取值和上边一样

上 右 下 左 > 上 > 右下左边取值和上边一样

非连写

border-top-width: ;  border-top-style:;  border-top-color:; border-right-width:;  border-right-style:; border-right-color:; border-bottom-width:;border-bottom-style: ;

注意点:同一个选择器中如果设置了多个边框属性, 后面的会覆盖前面的

.box3{  border: 5px solid red;  border-right:5px dashed red;}

内边距属性

定义:边框和内容之间的距离就是内边距给标签设置内边距之后, 标签占有的宽度和高度会发生变化

格式1:单独设置四条边  padding-top: ; padding-right: ; padding-bottom: ; padding-left: ;

格式2:同时设置四条边 padding: 上 右 下 左;

外边距属性

标签和标签之间的距离就是外边距 

默认布局的垂直方向上外边距是不会叠加的, 会出现合并现象, 谁的外边距比较大就听谁的,但是水平方向外边距会叠加,如下图所示:

内容的宽度和高度就是通过width/height属性设置的宽度和高度

元素的宽度和高度宽度 = 左边框 + 左内边距 + width + 右内边距 + 右边框高度 同理可证

元素空间的宽度和高度宽度 = 左外边距 + 左边框 + 左内边距 + width + 右内边距 + 右边框 + 右外边距   (高度 同理

box-sizing属性CSS3中新增属性

问题:增加了padding/border之后元素的宽高也会发生变化如果增加了padding/border之后还想保持元素的宽高, 那么就必须减去内容的宽高

答案:使用box-sizing属性,这个属性可以保证我们给盒子新增padding和border之后, 盒子元素的宽度和高度不变

box-sizing取值content-box(默认值,所以添加无意义,此时元素的宽高 = 边框 + 内边距 + 内容宽高);

border-box元素的宽高 = width/height的宽高    

盒子居中和内容居中

text-align:center;和margin:0 auto;区别

   text-align: center; 是设置盒子中存储的文字/图片水平居中

   margin:0 auto;在嵌套关系的盒子中,里面的盒子在外面的盒子中自己水平居中,仅限水平方向。

清空默认边距

直接添加 *{margin:0; padding:0}

在企业开发中为了更好地控制盒子的宽高和计算盒子的宽高等等,在编写代码之前第一件事就是要清空默认的边距。但是通配符性能不好,不建议使用*,故需要下面代码替换*{margin:0; padding:0}:

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}

行高

要想一行文字在盒子中垂直居中,只需要设置文字的行高等于盒子的高度即可。

div { width:80px; height:80px; line-height:80px; }

若有多行文字,使其在盒子中垂直居中,不能再使用上述方法,只能使用padding-top和padding-bottom实现,并用box-sizing:border-box属性限定元素宽高的变化。

还原字体和字号(借助FireWork工具设置对比之后,可以页面添加属性font)

在ul中设置样式ul { list-style:none; }可以将li前面的圆点去掉。

添加下划线可以使用boder-bottom:1px;实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值