css盒子模型的一些用法
边框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影响盒子大小特殊地方
如果一个块级元素中包含另外一个块级元素(子元素没有宽度),给子元素设置padding值,不会影响子盒子大小。
子元素继承父元素的盒子,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 隐藏盒子,而且占位置。
overflow
语法:
overflow : visible |auto |hidden |scroll
参数:
visible : 不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window或frame的大小。并且clip属性设置将失效
auto : 此为body对象和textarea的默认值。在需要时剪切内容并添加滚动条
hidden : 不显示超过对象尺寸的内容
scroll : 总是显示滚动条
说明:
检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。
设置textarea对象为hidden值将隐藏其滚动条。
对于table来说,假如table-layout属性设置为fixed,则td对象支持带有默认值为hidden的overflow属性。如果设为hidden,scroll或者auto,那么超出td尺寸的内容将被剪切。如果设为visible,将导致额外的文本溢出(隐藏文本溢出)到右边或左边(视direction属性设置而定)的单元格。
网友评论