前端Web开发HTML5+CSS3(黑马学习笔记)-day05
·
盒子模型
1.选择器
结构伪类选择器
基本使用作用:根据元素的结构关系查找元素。例如:给一个li加CSS格式li:first-child {background-color: green;}:nth-child(公式)
提示:公式中的n取值从 0 开始。伪元素选择器
作用:创建虚拟元素(伪元素),用来摆放装饰性的内容。例如:div::before {content: "before 伪元素";}div::after {content: "after 伪元素";}注意点:
- 必须设置 content: ””属性,用来 设置伪元素的内容,如果没有内容,则引号留空即可
- 伪元素默认是行内显示模式
- 权重和标签选择器相同
2.盒子模型
盒子模型-组成
- 内容区域 – width & height
- 内边距 – padding(出现在内容与盒子边缘之间)
- 边框线 – border
- 外边距 – margin(出现在盒子外面)
div {margin: 50px;border: 5px solid brown;padding: 20px;width: 200px;height: 200px;background-color: pink;}
边框线
四个方向
属性名:border(bd)属性值:边框线粗细 线条样式 颜色(不区分顺序)
例如:
div {border: 5px solid brown;width: 200px;height: 200px;background-color: pink;}单方向边框线
属性名:border-方位名词(bd+方位名词首字母,例如,bdl)属性值:边框线粗细 线条样式 颜色(不区分顺序)div {border-top: 2px solid red;border-right: 3px dashed green;border-bottom: 4px dotted blue;border-left: 5px solid orange;width: 200px;height: 200px;background-color: pink;}内边距
作用:设置 内容 与 盒子边缘 之间的距离。
- 属性名:padding / padding-方位名词
div {/* 四个方向 内边距相同 */padding: 30px;/* 单独设置一个方向内边距 */padding-top: 10px;padding-right: 20px;padding-bottom: 40px;padding-left: 80px;width: 200px;height: 200px;background-color: pink;}提示:添加 padding 会撑大盒子。
- padding 多值写法
技巧:从上开始顺时针赋值,当前方向没有数值则与对面取值相同。尺寸计算
默认情况:盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸结论:给盒子加 border / padding 会撑大盒子解决:
- 手动做减法,减掉 border / padding 的尺寸
- 內减模式:box-sizing: border-box
外边距
作用:拉开两个盒子之间的距离属性名:margin提示:与 padding 属性值写法、含义相同版心居中
左右 margin 值 为 auto(盒子要有宽度)例如:div {margin: 0 auto;width: 1000px;height: 200px;background-color: pink;}清除默认样式
清除标签默认的样式,比如:默认的内外边距例如:/* 清除默认内外边距 */* {margin: 0;padding: 0;box-sizing: border-box;}/* 清除列表项目符号 */li {list-style: none;}元素溢出
作用:控制溢出元素的内容的显示方式。属性名:overflow外边距问题
合并现象场景:垂直排列的兄弟元素,上下 margin 会合并现象:取两个 margin 中的较大值生效
例如:
.one {margin-bottom: 50px;}.two {margin-top: 20px;}外边距塌陷
场景:父子级的标签,子级的添加 上外边距 会产生塌陷问题现象:导致父级一起向下移动.son {margin-top: 50px;width: 100px;height: 100px;background-color: orange;}
解决方法:
- 取消子级margin,父级设置padding
- 父级设置 overũow: hidden
- 父级设置 border-top
行内元素 – 内外边距问题
场景:行内元素添加 margin 和 padding,无法改变元素垂直位置解决方法:给行内元素添加 line-height 可以改变垂直位置span {/* margin 和 padding 属性,无法改变垂直位置 */margin: 50px;padding: 20px;/* 行高可以改变垂直位置 */line-height: 100px;}圆角
作用:设置元素的外边框为圆角。属性名:border-radius属性值:数字+px / 百分比提示:属性值是圆角半径
- 多值写法
技巧:从左上角开始顺时针赋值,当前角没有数值则与对角取值相同。
- 正圆形状:给正方形盒子设置圆角属性值为 宽高的一半 / 50%
img {width: 200px;height: 200px;border-radius: 100px;border-radius: 50%;}
- 胶囊形状:给长方形盒子设置圆角属性值为 盒子高度的一半
div {width: 200px;height: 80px;background-color: orange;border-radius: 40px;}
盒子阴影(拓展)
作用:给元素设置阴影效果属性名:box-shadow属性值:X 轴偏移量 Y 轴偏移量 模糊半径 扩散半径 颜色 内外阴影注意:
- X 轴偏移量 和 Y 轴偏移量 必须书写
- 默认是外阴影,内阴影需要添加 inset
div {width: 200px;height: 80px;background-color: orange;box-shadow: 2px 5px 10px 0 rgba(0, 0, 0, 0.5) inset;}
更多推荐



















所有评论(0)