积累CSS样式属性:padding、margin、display:flex、font、position、cursor、:hover、:nth-child()、border-radius
·
目录
- 一、padding - 内边距
- 二、margin - 外边距
- 三、display:flex; - 弹性盒子
- 四、font - 字体
- 五、position - 定位
- 六、cursor - 鼠标样式
- 七、:hover - 悬停状态
- 八、:nth-child() - 指定找某一元素
- 九、border-radius - 圆角
一、padding - 内边距
padding叫做内边距,用于设置元素内容与其边框之间的距离。
1. padding的四个方向
padding-top:顶部内边框;padding-right:右侧内边框;padding-bottom:底部内边框;padding-left:左侧内边框。
单方向设置
padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;
2. padding简写
简写顺序: 上、右、下、左(顺时针方向)。
简写规则:
- 一个值:四个方向均使用这个值;
- 两个值:第一个值设置上、下,第二个值设置右、左;
- 三个值:第一个值设置上,第二个值设置右、左,第三个值设置下;
- 四个值:分别设置上、右、下、左(顺时针方向)。
简写
padding: 10px; /* 所有方向:上、右、下、左均为10px */
padding: 10px 20px; /* 上下10px,左右20px */
padding: 10px 20px 30px; /* 上10px,左右20px,下30px */
padding: 10px 20px 30px 40px; /* 上、右、下、左分别设置 */
3. padding的属性值
- 长度值:像素px、百分比%、相对于当前字体大小em、相对于根元素字体大小rem等;
- inherit:继承父元素的padding值;
- initial:重置为默认值(默认值为0);
- unset:根据上下文重置为inherit或initial。
注意:padding不支持负值,也不支持auto。
4. 示例
*{
margin: 0;
padding: 0;
}
.menu{
background: red;
padding: 20px;
}
效果图:图中白框就是设置的内边距距离。
二、margin - 外边距
margin叫做外边距,控制元素与元素之间的距离。
1. margin的四个方向
margin-top:元素的顶部外边框,即元素顶部与其上面元素的距离;margin-right:元素的右侧外边框,即元素右侧与其右侧元素的距离;margin-bottom:元素的底部外边框,即元素底部与其下面元素的距离;margin-left:元素的左侧外边框,即元素左侧与其左侧元素的距离。
单方向设置
margin-top: 10px;
margin-right: 20px;
margin-bottom: -10px;/* 与下方元素重叠*/
margin-left: 40px;
2. margin简写
简写顺序: 上、右、下、左(顺时针方向)。
简写规则:
- 一个值:四个方向均使用这个值;
- 两个值:第一个值设置上、下,第二个值设置右、左;
- 三个值:第一个值设置上,第二个值设置右、左,第三个值设置下;
- 四个值:分别设置上、右、下、左(顺时针方向)。
简写
margin: 10px; /* 所有方向:上、右、下、左均为 10px */
margin: 10px 20px; /* 上下 10px,左右 20px */
margin: 10px 20px 30px; /* 上 10px,左右 20px,下 30px */
margin: 10px 20px 30px 40px; /* 上、右、下、左(顺时针) */
3. margin的属性值
- 长度值:像素px、百分比%、em、厘米cm等;
- inherit:继承父元素的margin值;
- auto:由浏览器自动计算外边距,通常用于水平居中布局;
- 负值:用负值使元素向反方向移动,使其与其他元素重叠或产生间距;
- initial:重置为默认值(默认值为0);
- unset:根据上下文重置为inherit或initial。
4. 示例
*{
margin: 0;
padding: 0;
}
.menu{
background: red;
margin: 20px;
}
效果图:图中蓝框就是设置的外边距距离。
三、display:flex; - 弹性盒子
弹性盒子:子元素默认始终横向布局。
使用弹性盒子找父元素,将父元素设置为弹性盒子,则子元素为横向布局。
常用的弹性盒子属性
1. justify-content属性
justify-content:设置弹性盒子内子元素的分布方式。
属性值:
flex-start( ):左对齐flex-end:右对齐center:居中space-between:两端对齐,项目间间隔相等space-around:每个项目两侧间隔相等space-evenly:项目间和边缘间隔完全相等
2. align-items属性
align-items:设置弹性盒子内子元素在垂直方向上的对齐方式。
属性值:
stretch:拉升填满容器高度flex-start:起点对齐flex-end:终点对齐center:居中对齐baseline:第一行文字的基线对齐
示例
<body>
<!-- html代码 -->
<div class="menu">
<ul>
<li>新闻</li>
<li>hao123</li>
<li>地图</li>
<li>贴吧</li>
<li>视频</li>
<li>图片</li>
<li>网盘</li>
<li>文库</li>
<li><img src="../img/下载.png"></li>
<li>更多</li>
</ul>
<div class="btn">
<span>设置</span>
<span>登录</span>
</div>
</div>
</body>
/* css代码 */
*{
margin: 0;
padding: 0;
}
.menu{
background: red;
display: flex;
justify-content: space-between;
align-items: center;
}
效果图:
四、font - 字体
font-family:字体族
定义元素的字体族(字体家族),可以指定多个字体作为备选。
要求:
- 多个字体用逗号分隔;
- 包含空格的字体名需要用引号包围;
- 浏览器会从左到右尝试使用可用的字体;
- 最后通常指定一个通用字体族(如 serif, sans-serif, monospace 等)。
font-size :字体大小
属性值:数字
font-weight:字体粗细
属性值:
normal:正常bold:加粗数字:100到900,400=normal,700=bold,500以下变细,600以上变粗lighter:比父元素更细bolder:比父元素更粗
font-style:字体样式
属性值:
normal:正常italic:斜体oblique:倾斜体
line-height:行高
设置行间距。
属性值:
无单位:相当于当前字体的大小px:固定值%:百分比
color:字体颜色
设置文本内容的颜色。
属性值:
- 颜色关键字
- 十六进制表示法:六位数;
- RGB:
rgb(red, green, blue)- 每个参数取值 0-255 或 0%-100% - RGBA:
rgba(red, green, blue, alpha)- 增加了透明度通道(0-1)
font-variant:字体样式
控制小型大写字母的显示。
属性值:
normal:正常small-caps:小型大写字母
font:简写
将多个字体属性合并为一个 简写。
属性值与属性值之间用空格隔开。
基本格式:
p {
font: [font-style] [font-variant] [font-weight] font-size[/line-height] font-family;
}
示例:
p {
font: italic small-caps bold 16px/1.5 "Microsoft YaHei", sans-serif;
}
五、position - 定位
决定了元素在文档中的定位方式。
1. 属性值:
static:静态定位(默认值)relative:相对定位- 原位置仍保留;
- 可以使用top、right、botton、left进行偏移;
- 偏移量相对于元素自身原本的位置;
- 常用作为
absolute定位元素的参照物。
absolute:绝对定位- 可以使用top、right、botton、left进行定位;
- 常用于创建浮动元素、对话框、下拉菜单等。
fixed:固定位置- 元素相对于浏览器视口进行定位,即使页面滚动也不会移动;
- 常用于固定导航栏、返回顶部按钮等。
sticky:粘性定位- 相对定位和固定定位的混合;
- 在视口到达指定位置(如 top: 0)时变为固定定位;
- 需要指定至少一个阈值(top/right/bottom/left);
- 常用于表头、导航栏等需要"粘住"的效果。
2. 定位相关属性
与position配合使用的属性:
top / right / bottom / left- 定位偏移量z-index- 控制堆叠顺序(仅对非 static 元素有效)
3. 示例
.menu ul li img{
height: 14px;
position: relative;
top: 2px;
}
效果图:
六、cursor - 鼠标样式
用于指定鼠标指针在元素上时显示的光标样式。
常用光标值
1. 通用光标
auto:浏览器自动决定光标(默认值)default:默认箭头光标none:隐藏光标
2. 链接和状态光标
pointer:手形光标(表示链接可点击)help:帮助光标(带问号的箭头)wait:等待光标(通常为沙漏或旋转圆圈)progress:进行中光标(箭头旁有旋转圆圈)
3. 文本选择光标
text:文本选择光标(I型)vertical-text:垂直文本选择光标(横向I型)
4. 拖拽和移动光标
move:移动光标(十字箭头)grab:可抓取光标(张开的手)grabbing:抓取中光标(紧握的手)
5. 调整大小光标
e-resize/w-resize:东西方向调整大小(作用箭头)n-resize/s-resize:南北方向调整大小(上下箭头)ne-resize/nw-resize/se-resize/sw-resize:对角线调整大小ew-resize:东西双向调整(双向左右箭头)ns-resize:南北双向调整(双向上下箭头)nesw-resize/nwse-resize:对角线双向调整
6. 滚动光标
all-scroll:全方位滚动光标(四向箭头)
7. 禁用光标
nob-allowed:禁止操作光标(带斜线的圆圈)no-drop:不可放置光标(带斜线的手形)
8. 缩放光标
zoom-in:放大光标(带加号的放大镜)zoom-out:缩小光标(带减号的放大镜)
9. 自定义光标
使用图像作为自定义光标。
.custom-cursor {
cursor: url('cursor.png'), auto;
}
说明:
- 第一个值是要使用的图像 URL;
- 第二个值是备用光标(当自定义图像不可用时使用);
- 可以指定热点位置(默认为图像左上角):
cursor: url('cursor.cur') 4 12, auto;
七、:hover - 悬停状态
:hover是一个伪类选择器。
其作用:定义将鼠标悬停在元素上时的样式效果。
基本格式
元素与:hover之间没有空格。
元素:hover {
/* 悬停时应用的样式 */
属性:属性值;
}
八、:nth-child() - 指定找某一元素
:nth-child()也是一种伪类选择器,允许根据元素在其父元素中的位置来精确选择元素。
基本格式
元素:nth-child(参数) {
属性:属性值;
}
参数说明::nth-child()接受一个参数:
- 数字(如 3):选择第3个子元素;
- 关键字(odd 或 even):
- odd:选择奇数位置的元素(1, 3, 5…)
- even:选择偶数位置的元素(2, 4, 6…)
- 公式(an+b):
- a:周期长度
- n:计数器(从0开始)
- b:偏移量
九、border-radius - 圆角
border-radius是设置元素圆角的属性,可以让元素的边角变得圆润。
基本格式
selector {
border-radius: 值;
}
属性值
单独设置每个角的属性
border-top-left-radius:左上角border-top-right-radius:右上角border-bottom-right-radius:右下角border-bottom-left-radius:左下角
.box {
border-top-left-radius: 10px; /* 左上角 */
border-top-right-radius: 20px; /* 右上角 */
border-bottom-right-radius: 30px; /* 右下角 */
border-bottom-left-radius: 40px; /* 左下角 */
}
简写
一个值:四角设置统一两个值:对角设置,第一个值是左上角和右下角,第二个值是右上角和左下角;三个值:第一个值是左上角,第二个值是右上角和左下角,第三个值是右下角;四个值:顺时针顺序,左上、右上、右下、左下斜杠语法:椭圆角
.box {
border-radius: 10px; /* 四个角都是10px圆角 */
border-radius: 10px 20px; /* 左上和右下:10px, 右上和左下:20px */
border-radius: 10px 20px 30px;/* 左上:10px, 右上和左下:20px, 右下:30px */
border-radius: 10px 20px 30px 40px;/* 左上:10px, 右上:20px, 右下:30px, 左下:40px */
border-radius: 10px 20px 30px 40px / 5px 10px 15px 20px;/* 水平半径 / 垂直半径 */
}
更多推荐



所有评论(0)