欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS中盒子模型的总结

程序员文章站 2024-02-29 08:07:40
...

所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。

内边距(padding): 内容与边框之间的距离 
外边距(margin): 盒子与盒子之间的距离

边框border

1、border-width:   设置边框宽度

2、border-style:     设置边框样式
   none    没有边框
   solid     实线
   dotted    点线
   dashed    虚线

3、border-color:   设置边框颜色

4、borde具体属性设置:
    border-top-color:green;

5、border属性联写
    改变具体边框属性联写:
    border-top:2px dotted red;
    改变所有边框属性联写:
    border:1px solid green;

6、去掉边框写法:
    border: 0 none;

7、边框合并:
    border-collapse:collapse;

8、点击文字设置输入框光标焦点方式
    <label for="name">姓名:</label>
    <input type="text" class="namecls" id="name">

内边距(padding)

padding-top:上内边距
padding-right:右内边距
padding-bottom:下内边距
padding-left:左内边距

页面中盒子大小计算问题

border可以影响盒子大小。 
padding可以影响盒子大小 
margin不会影响盒子大小。

页面中盒子宽度=设置的宽度值+左右边框+左右内边距

注意:以后在页面中设置盒子大小的时候,如果遇到padding和border要给盒子宽度和高度减去对应的值。

padding影响盒子大小特殊地方

  1. 如果一个块级元素中包含另外一个块级元素(子元素没有宽度),给子元素设置padding值,不会影响子盒子大小。

  2. 子元素继承父元素的盒子,padding不会影响子盒子大小

外边距margin

外边距用法与padding一样,但是外边距对盒子宽度没有影响。

外边距特点

1、垂直外边距合并(外边距以最大值为准),只发生在块级元素之间。

2、外边距塌陷解决方案: 
第一种:给父盒子添加border值,但是影响父盒子的宽度。 
第二种:给父盒子设置 overflow: hidden; (推荐这种) 
注意: overflow:hidden 触发 bfc (格式化上下文),将页面中的元素设置为独立的元素。

行内元素关于padding与margin问题

1.需要使用背景图的时候必须用padding。 
2.会出现外边距合并或者margin塌陷的时候用padding。 
3.行内元素上下只能设置padding,不能设置margin。(行内高16px) 
4.看border,如果是a连接,看能不能让字体变色,或者显示小手。

隐藏盒子问题

1.overflow:hidden; 隐藏盒子超出的部分。 
2.display: none; 隐藏盒子,而且不占位置。(用的最多) 
3.visibility: hidden; 隐藏盒子,而且占位置。 
4.opacity: 0; 隐藏盒子,而且占位置。 
5.Position/top/left/…-999px 隐藏盒子,而且占位置。

相关标签: CS