CSS知识总结与使用技巧 (万字详细版)

 

目录

一、CSS基础 

概念 

1.1 基本结构

1.2 选择器 

1.2.1 基本选择器

1.2.2 组合选择器

1.2.3 属性选择器

1.2.4 伪类与伪元素

1.3继承 

1.4 DIV图层和SPAN 

二 、CSS样式属性 

2 .1 字体样式font

2.2 文本样式 

2.3 背景 

2.4 列表样式 

2.5 CSS盒模型属性 

三、DIV + CSS页面布局 

3.1浮动布局

3.2定位布局

3.3弹性布局

3.4网格布局

四、表格

4.1基本标记

4.2表格属性

4.3边框相关属性

4.4背景相关属性

4.5对齐相关属性

4.6单元格相关属性

五、表单

六、CSS新特性 

新特性总结

6.1选择器

6.2盒模型

6.3背景和边框

6.4文本效果

6.5-2D 和 3D 转换

6.6动画

 七、总结


引言 
在前端开发的世界里,CSS(层叠样式表)无疑是让网页变得绚丽多彩的魔法画笔。它负责网页的外观设计,从字体样式到页面布局,从背景效果到交互细节,的影响力CSS无处不在。本文将全面深入地探讨CSS的知识内容与实用技巧,涵盖从基础概念到高级应用各个的方面,助你在前端开发领域更上一层楼。 
 



一、CSS基础 


概念 


CSS是一种用于描述HTML或XML文档样式的语言,旨在实现内容与表现的分离。通过CSS,开发者可以轻松控制网页元素的字体、颜色、大小、位置、布局等外观属性,从而创建出美观、易用的用户界面。 
 

1.1 基本结构

CSS 规则由 选择器 和 声明块 组成:

选择器 {
    属性: 值;
    属性: 值;
}
  • 选择器:指定要样式化的 HTML 元素。

  • 声明块:包含一对或多对 属性: 值,用 {} 包裹。

  • 属性和值:用冒号 : 分隔,每对声明以分号 ; 结束。

示例

h1 {
    color: blue;
    font-size: 24px;
}


1.2 选择器 


选择器是CSS的核心部分,用于指定要应用样式的HTML元素。 

1.2.1 基本选择器

选择器类型语法示例说明
元素选择器元素名p { }选择所有 <p> 元素
类选择器.类名.text-red { }选择所有 class="text-red" 的元素
ID 选择器#id名#header { }选择 id="header" 的元素
通配符选择器** { }选择所有元素

1.2.2 组合选择器

选择器类型语法示例说明
后代选择器A Bdiv p { }选择 <div> 内所有 <p>
子元素选择器A > Bul > li { }选择 <ul> 的直接子元素 <li>
相邻兄弟选择器A + Bh1 + p { }选择紧接在 <h1> 后的 <p>
通用兄弟选择器A ~ Bh1 ~ p { }选择 <h1> 后的所有 <p>

1.2.3 属性选择器

选择器类型语法示例说明
属性存在[属性][target] { }选择带有 target 属性的元素
属性值匹配[属性=值][type="text"] { }选择 type="text" 的元素
属性值包含[属性*=值][href*="example"]选择 href 包含 example 的元素
属性值开头[属性^=值][href^="https"]选择 href 以 https 开头的元素
属性值结尾[属性$=值][href$=".pdf"]选择 href 以 .pdf 结尾的元素

1.2.4 伪类与伪元素

类型语法示例说明
伪类:伪类a:hover { }选择鼠标悬停时的 <a> 元素
伪元素::伪元素p::first-line { }选择 <p> 的第一行

常用伪类

  • :hover:鼠标悬停

  • :focus:获得焦点

  • :nth-child(n):第 n 个子元素

  • :not(选择器):排除匹配的元素

常用伪元素

  • ::before:在元素前插入内容

  • ::after:在元素后插入内容

  • ::first-letter:选择元素的第一个字母

  • ::selection:选择用户选中的内容



1.3继承 


继承是CSS的一个特性重要,子元素会自动继承父的元素某些样式属性,如字体、颜色等。

例如,设置 `body { font-family: Arial, sans;-serif }`,页面中所有元素都会继承该字体,除非子元素单独设置了字体。有些属性可以通过使用特定关键字来强制继承父元素的值。 
 



1.4 DIV图层和SPAN 

  • 标记 DIV:`<div>` 是HTML中的块级,作为元素一个容器通用,常用于网页布局。不同的 `div` 可以通过CSS设置不同的样式,实现各种布局效果。例如,可以将页面划分为页眉、导航栏、内容区、页脚等不同的 `div` 区域。
  • SPAN:`<span>` 是行内元素,用于在文本一行中标记以便部分特定应用样式,不会换行。例如 `<p>这是一段 <span class="highlight">高亮</>span 文本</p,>`可以通过CSS为highlight` ` 类设置样式来突出显示 “高亮” 文本。 



二 、CSS样式属性 


2 .1 字体样式font

样式类型语法单位举例说明
字体大小font-size`px`(像素)、`em`相对(单位,相对于父元素字体大小)、`(`rem相对于根元素 `html` 的字体)、%font-size: 16px;设置字体大小
字体样式font-style3个属性font-style: italic(斜体),normal(不用斜体),oblique(倾斜体)设置字体风格
字体系列font-familyfont-family: Arial, sans-serif;设置字体
字体变体font-variant2个属性normal(整车那个字体),small-caps(小型的大写字母字体)设置英文字体
字体粗细font-weightnormal(正常),bold(标准粗体),bolder(特粗体),lighter(细体)font-weight: bold;` 或 `font-weight: 700;设置字体粗细


 


2.2 文本样式 

属性描述常见取值
color设置文本颜色颜色关键词(如redblue)、十六进制值(如#FF0000)、RGB 值(如rgb(255, 0, 0)
font-size定义字体大小绝对单位(如pxpt)、相对单位(如emrem)、百分比
font-family指定字体字体名称(如ArialTimes New Roman),通用字体系列(如sans-serifserif
font-weight设置字体粗细数字(100 - 900)、关键词(normalboldbolderlighter
font-style定义字体风格normal(正常)、italic(斜体)、oblique(倾斜)
text-align设置文本水平对齐方式left(左对齐)、right(右对齐)、center(居中对齐)、justify(两端对齐)
text-decoration添加或移除文本装饰none(无)、underline(下划线)、overline(上划线)、line-through(删除线)
text-transform控制文本大小写none(无变化)、uppercase(全部大写)、lowercase(全部小写)、capitalize(首字母大写)
letter-spacing调整字符间距长度值(如pxem
word-spacing调整单词间距长度值(如pxem
line-height设置行高数字(无单位,为字体大小倍数)、长度值(如pxem)、百分比
white-space设置空白处理方式normal(合并空白符和换行)、nowrap(不换行)、pre(保留空白符和换行,类似<pre>标签)
letter-spacing调整字符间距长度值,如px(像素)、emrem
line-height设置行距数字(无单位,为字体大小倍数)、长度值(如pxem)、百分比
text-indent设置首行缩进长度值,如pxem
text-decoration添加字符装饰none(无)、underline(下划线)、overline(上划线)、line-through(删除线)等
text-transform控制英文大小写转换none(无变化)、uppercase(全部大写)、lowercase(全部小写)、capitalize(首字母大写)
text-align设置水平对齐方式left(左对齐)、right(右对齐)、center(居中对齐)、justify(两端对齐)
vertical-align设置垂直对齐方式baseline(基线对齐)、top(顶部对齐)、middle(居中对齐)、bottom(底部对齐)等


2.3 背景 

属性描述常见取值
background-color设置元素的背景颜色颜色关键词(如redbluegreen
十六进制值(如#FF0000表示红色)
RGB 值(如rgb(255, 0, 0)表示红色)
RGBA 值(如rgba(255, 0, 0, 0.5)表示半透明红色)
background-image为元素设置背景图像图像的 URL 路径(如url('image.jpg')
渐变函数(如linear-gradient(to bottom, red, blue)
background-repeat控制背景图像的重复方式repeat(默认值,在水平和垂直方向重复)
repeat-x(仅在水平方向重复)
repeat-y(仅在垂直方向重复)
no-repeat(不重复)
background-position设置背景图像的起始位置方位关键词(如top leftcenterbottom right
长度值(如20px 30px
百分比(如50% 50%
background-size规定背景图像的大小长度值(如100px 200px分别指定宽度和高度)
百分比(相对于元素的宽度和高度,如50% 50%
cover(缩放背景图像以完全覆盖元素,可能会裁剪图像)
contain(缩放背景图像以适应元素,保证图像完整)
background-attachment设置背景图像是否固定或随页面滚动scroll(默认值,背景图像随页面内容滚动)
fixed(背景图像固定,不随页面滚动)
local(背景图像随元素内容滚动)
background-origin指定背景图像的定位区域padding-box(背景图像相对于内边距区域定位)
border-box(背景图像相对于边框区域定位)
content-box(背景图像相对于内容区域定位)
background-clip规定背景的绘制区域border-box(默认值,背景绘制到边框外边缘)
padding-box(背景绘制到内边距外边缘)
content-box(背景绘制到内容区域外边缘)
background背景属性的简写形式,可同时设置多个背景属性以空格分隔的多个属性值,顺序无严格要求,但一般遵循background-colorbackground-imagebackground-repeatbackground-attachmentbackground-positionbackground-sizebackground-originbackground-clip的顺序


 


2.4 列表样式 

CSS 中的列表样式属性用于控制列表的外观和布局,包括无序列表(<ul>)和有序列表(<ol>),以下是对列表样式相关属性的详细介绍:

属性描述常见取值
list-style-type设置列表项标记的类型

对于无序列表:

  • disc(实心圆,默认值)、
  • circle(空心圆)、
  • square(实心方块)

对于有序列表:

  • decimal(十进制数字,如 1、2、3)、
  • decimal-leading-zero(带前导零的十进制数字,如 01、02、03)、
  • lower-roman(小写罗马数字,如 i、ii、iii)、upper-roman(大写罗马数字,如 I、II、III)、
  • lower-alpha(小写英文字母,如 a、b、c)、
  • upper-alpha(大写英文字母,如 A、B、C)
list-style-image使用图像作为列表项的标记图像的 URL 路径,如url('bullet.png')
list-style-position设置列表项标记的位置

inside(列表项标记位于列表项内容内部)、

outside(列表项标记位于列表项内容外部,默认值)

list-style列表样式的简写属性,可同时设置list-style-typelist-style-positionlist-style-image取值顺序通常为list-style-typelist-style-positionlist-style-image,中间以空格分隔,可省略某些值


2.5 CSS盒模型属性 


CSS盒模型由 `content`(内容)、`padding`(内填充)、`border`(边框)、`margin`(外边距)组成。 

属性分类具体属性描述取值及示例
内容width设置内容区域的宽度可以是具体长度值,如width: 200px;;百分比,如width: 50%;;或auto,如width: auto;
height设置内容区域的高度取值方式与width类似,如height: 150px;height: 30%;
内边距padding-top
padding-right
padding-bottom
padding-left
分别设置上、右、下、左四个方向的内边距可以是长度值,如padding-top: 10px;;百分比,如padding-right: 5%;
简写属性padding可同时设置四个方向,如padding: 10px 20px 15px 25px;代表上、右、下、左内边距分别为 10px、20px、15px、25px
边框border-width设置边框的宽度可分别设置四个方向,如border-top-width: 2px;
简写属性如border-width: 1px 2px 3px 4px;代表上、右、下、左边框宽度分别为 1px、2px、3px、4px
border-style设置边框的样式常见取值有solid(实线),如border-style: solid;
dashed(虚线),dotted(点线),double(双线)等
border-color设置边框的颜色可使用颜色关键词,如border-color: red;
十六进制值,如border-color: #FF0000;
RGB 值,如border-color: rgb(255,0,0);
RGBA 值,如border-color: rgba(255,0,0,0.5);
border-radius设置边框的圆角效果可分别设置四个角,如border-top-left-radius: 5px;
简写属性如border-radius: 10px 5px 15px 20px;代表上左、上右、下右、下左圆角半径分别为 10px、5px、15px、20px
外边距margin-top
margin-right
margin-bottom
margin-left
分别设置上、右、下、左四个方向的外边距可以是长度值,如margin-top: 20px;;百分比,如margin-right: 10%;
简写属性margin可同时设置四个方向,如margin: 20px 30px 25px 35px;代表上、右、下、左外边距分别为 20px、30px、25px、35px


三、DIV + CSS页面布局 

CSS+DIV 页面布局主要包括浮动布局、定位布局、弹性布局、网格布局等方式,以下以表格形式对其进行介绍:

布局方式原理优点缺点
浮动布局使用float属性让元素向左或向右浮动,脱离正常文档流,其他元素围绕其排列,常见取值为leftrightnone兼容性好,能方便地实现多列布局需清除浮动,否则可能导致父元素高度塌陷
定位布局通过position属性设置定位方式。static为默认,按正常文档流排列;relative是相对自身正常位置偏移;absolute相对于最近已定位祖先,无则相对于<html>fixed相对于浏览器窗口固定;sticky为粘性定位可精确控制元素位置使用不当易造成元素重叠,影响页面可读性
弹性布局(Flexbox)弹性盒模型是一维布局,通过设置容器和子元素属性,实现元素对齐、排列和分布布局灵活,能自适应不同屏幕尺寸,代码简洁对 IE9 及以下等旧版本浏览器兼容性差
网格布局(Grid)二维布局模型,将页面划分为行和列的网格,把元素放置在网格单元格中实现布局可实现复杂二维布局,更加精确灵活对旧版本浏览器兼容性较差

布局的示例代码

3.1浮动布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 全局样式,去除默认边距 */
        * {
            margin: 0;
            padding: 0;
        }

        /* 头部样式 */
        header {
            background-color: #333;
            color: white;
            text-align: center;
            padding: 20px;
        }

        /* 侧边栏样式 */
       .sidebar {
            float: left;
            width: 20%;
            background-color: #f4f4f4;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 主内容区样式 */
       .main-content {
            float: left;
            width: 80%;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 清除浮动 */
       .clearfix::after {
            content: "";
            display: table;
            clear: both;
        }

        /* 底部样式 */
        footer {
            background-color: #333;
            color: white;
            text-align: center;
            padding: 10px;
        }
    </style>
</head>

<body>
    <header>
        <h1>浮动布局示例</h1>
    </header>
    <div class="clearfix">
        <div class="sidebar">
            <ul>
                <li>侧边栏链接1</li>
                <li>侧边栏链接2</li>
                <li>侧边栏链接3</li>
            </ul>
        </div>
        <div class="main-content">
            <h2>主内容区</h2>
            <p>这是主内容区的文本内容。这里可以展示文章、图片等各种信息。</p>
        </div>
    </div>
    <footer>
        <p>FF2025/p>
    </footer>
</body>

</html>

3.2定位布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 全局样式,去除默认边距 */
        * {
            margin: 0;
            padding: 0;
        }

        /* 页面容器,相对定位 */
       .container {
            position: relative;
            height: 100vh;
        }

        /* 头部样式,固定定位 */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background-color: #333;
            color: white;
            text-align: center;
            padding: 20px;
        }

        /* 侧边栏样式,固定定位 */
       .sidebar {
            position: fixed;
            top: 60px;
            left: 0;
            width: 20%;
            height: calc(100% - 60px);
            background-color: #f4f4f4;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 主内容区样式,相对定位 */
       .main-content {
            position: relative;
            top: 60px;
            left: 20%;
            width: 80%;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 底部样式,固定定位 */
        footer {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #333;
            color: white;
            text-align: center;
            padding: 10px;
        }
    </style>
</head>

<body>
    <div class="container">
        <header>
            <h1>定位布局示例</h1>
        </header>
        <div class="sidebar">
            <ul>
                <li>侧边栏链接1</li>
                <li>侧边栏链接2</li>
                <li>侧边栏链接3</li>
            </ul>
        </div>
        <div class="main-content">
            <h2>主内容区</h2>
            <p>这是主内容区的文本内容。这里可以展示文章、图片等各种信息。</p>
        </div>
        <footer>
            <p>FF2025</p>
        </footer>
    </div>
</body>

</html>

3.3弹性布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 全局样式,去除默认边距 */
        * {
            margin: 0;
            padding: 0;
        }

        /* 页面容器,弹性布局 */
       .container {
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        /* 头部样式 */
        header {
            background-color: #333;
            color: white;
            text-align: center;
            padding: 20px;
        }

        /* 中间内容区,弹性布局 */
       .content {
            display: flex;
            flex: 1;
        }

        /* 侧边栏样式 */
       .sidebar {
            flex-basis: 20%;
            background-color: #f4f4f4;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 主内容区样式 */
       .main-content {
            flex-basis: 80%;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 底部样式 */
        footer {
            background-color: #333;
            color: white;
            text-align: center;
            padding: 10px;
        }
    </style>
</head>

<body>
    <div class="container">
        <header>
            <h1>弹性布局示例</h1>
        </header>
        <div class="content">
            <div class="sidebar">
                <ul>
                    <li>侧边栏链接1</li>
                    <li>侧边栏链接2</li>
                    <li>侧边栏链接3</li>
                </ul>
            </div>
            <div class="main-content">
                <h2>主内容区</h2>
                <p>这是主内容区的文本内容。这里可以展示文章、图片等各种信息。</p>
            </div>
        </div>
        <footer>
            <p>FF2025</p>
        </footer>
    </div>
</body>

</html>

3.4网格布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 全局样式,去除默认边距 */
        * {
            margin: 0;
            padding: 0;
        }

        /* 页面容器,网格布局 */
       .container {
            display: grid;
            grid-template-columns: 20% 80%;
            grid-template-rows: auto 1fr auto;
            min-height: 100vh;
        }

        /* 头部样式,跨两列 */
        header {
            grid-column: 1 / 3;
            background-color: #333;
            color: white;
            text-align: center;
            padding: 20px;
        }

        /* 侧边栏样式 */
       .sidebar {
            background-color: #f4f4f4;
            padding: 20px;
            box-sizing: border-box;
        }

        /* 主内容区样式 */
       .main-content {
            padding: 20px;
            box-sizing: border-box;
        }

        /* 底部样式,跨两列 */
        footer {
            grid-column: 1 / 3;
            background-color: #333;
            color: white;
            text-align: center;
            padding: 10px;
        }
    </style>
</head>

<body>
    <div class="container">
        <header>
            <h1>网格布局示例</h1>
        </header>
        <div class="sidebar">
            <ul>
                <li>侧边栏链接1</li>
                <li>侧边栏链接2</li>
                <li>侧边栏链接3</li>
            </ul>
        </div>
        <div class="main-content">
            <h2>主内容区</h2>
            <p>这是主内容区的文本内容。这里可以展示文章、图片等各种信息。</p>
        </div>
        <footer>
            <p>FF2025</p>
        </footer>
    </div>
</body>

</html>

四、表格

4.1基本标记

分类内容描述
基本结构与标记<table>表格的根标签,包裹整个表格内容
<tr>表示表格中的一行
<td>普通单元格标签,用于存放数据
<th>表头单元格标签,文本通常加粗居中
<caption>用于为表格添加标题

4.2表格属性

属性名描述取值及示例
border-collapse定义相邻单元格边框的合并方式collapse(合并边框):table { border-collapse: collapse; }
separate(分开边框):table { border-collapse: separate; }
border-spacing当 border-collapse 为 separate 时,设置相邻单元格边框之间的间距长度值,如 table { border-spacing: 5px; }
caption-side设置表格标题的位置top(标题在表格顶部):caption { caption-side: top; }
bottom(标题在表格底部):caption { caption-side: bottom; }
table-layout定义表格列宽的计算方式auto(列宽由内容决定):table { table-layout: auto; }
fixed(列宽由 width 属性决定):table { table-layout: fixed; }
width设置表格的宽度长度值或百分比,如 table { width: 600px; } 或 table { width: 90%; }
height设置表格的高度长度值或百分比,如 table { height: 300px; }

4.3边框相关属性

属性名描述取值及示例
border统一设置表格、行或单元格的边框样式宽度、样式、颜色组合,如 table { border: 2px solid #ccc; }
border-width设置边框的宽度长度值,如 table { border-width: 3px; }
border-color设置边框的颜色颜色关键词、十六进制值、RGB 值等,如 table { border-color: blue; }
border-style设置边框的线条样式solid(实线)、dashed(虚线)、dotted(点线)等,如 table { border-style: dotted; }

4.4背景相关属性

属性名描述取值及示例
background-color设置表格的背景颜色颜色关键词、十六进制值、RGB 值等,如 table { background-color: lightgray; }
background-image设置表格的背景图像图像的 URL 路径,如 table { background-image: url('bg.png'); }

4.5对齐相关属性

属性名描述取值及示例
text-align设置表格内容的水平对齐方式left(左对齐)、center(居中对齐)、right(右对齐)等,如 table { text-align: center; }
vertical-align设置表格内容的垂直对齐方式top(顶部对齐)、middle(居中对齐)、bottom(底部对齐)等,如 td { vertical-align: middle; }

4.6单元格相关属性

属性名描述取值及示例
padding设置单元格内容与边框之间的间距长度值,可单值(全方向相同)、双值(上下、左右)、四值(上、右、下、左)设置,如 td { padding: 10px; }
width设置单元格的宽度长度值或百分比,如 td { width: 120px; }
height设置单元格的高度长度值或百分比,如 td { height: 40px; }

五、表单

表单元素属性描述
<form>action指定表单数据提交的目标 URL,即服务器端处理表单数据的脚本地址
method规定表单数据的提交方式,常用值为 GET 和 POSTGET 将数据附加在 URL 后,POST 将数据放在请求体中
enctype指定表单数据在发送到服务器之前的编码方式,常见值有 application/x-www-form-urlencoded(默认)、multipart/form-data(用于文件上传)、text/plain
target规定表单提交后服务器响应内容的显示位置,值有 _self(当前窗口)、_blank(新窗口)、_parent(父窗口)、_top(整个窗口)
name为表单指定一个名称,可用于在 JavaScript 中引用表单
autocomplete设置表单是否启用自动完成功能,值为 on 或 off
novalidate布尔属性,若设置该属性,表单提交时将不进行验证
<input>type定义输入字段的类型,常见值有 text(文本框)、password(密码框)、radio(单选按钮)、checkbox(复选框)、email(邮箱输入框)、number(数字输入框)、date(日期选择器)、submit(提交按钮)、reset(重置按钮)、button(普通按钮)、file(文件选择框)等
name指定输入字段的名称,用于在服务器端识别数据
value设置输入字段的初始值或默认值,对于 radio 和 checkbox,该值会在提交时被发送到服务器
placeholder提供一个简短的提示信息,显示在输入框内,当用户输入内容时提示信息消失
required布尔属性,设置该属性后,该输入字段为必填项,用户必须填写才能提交表单
disabled布尔属性,设置该属性后,输入字段将被禁用,用户无法与之交互,且该字段的值不会被提交
readonly布尔属性,设置该属性后,输入字段为只读状态,用户不能修改其值,但可以选中和复制内容
min 和 max对于 numberdate 等类型的输入框,设置输入值的最小值和最大值
step对于 numberdate 等类型的输入框,设置输入值的步进间隔
pattern使用正则表达式定义输入字段的合法格式
<textarea>name在服务器端标识该文本域
rows指定文本域的可见行数
cols指定文本域的可见列数
placeholder提供提示信息,显示在文本域内
required布尔属性,设置该属性后,文本域为必填项
disabled布尔属性,设置该属性后,文本域被禁用
readonly布尔属性,设置该属性后,文本域为只读状态
<select>name在服务器端识别该下拉列表
disabled布尔属性,设置该属性后,下拉列表被禁用
multiple布尔属性,设置该属性后,允许用户在下拉列表中选择多个选项
size指定下拉列表中可见选项的数量
<option>value指定选项的值,提交表单时该值会被发送到服务器
selected布尔属性,设置该属性后,该选项默认被选中
<button>type定义按钮的类型,值有 submit(提交表单)、reset(重置表单)、button(普通按钮,需配合 JavaScript 使用)
name为按钮指定一个名称,用于在服务器端识别按钮数据
value设置按钮的值,提交表单时该值会被发送到服务器
disabled布尔属性,设置该属性后,按钮被禁用

六、CSS新特性 

新特性总结

特性分类特性名称描述示例代码
选择器属性选择器增强根据元素属性值的开头、结尾或包含的内容选择元素[href^="https"] { color: blue; } 选择 href 属性以 "https" 开头的元素
伪类选择器精确选择元素的子元素或特定类型的子元素li:nth-child(3) { background-color: yellow; } 选择父元素中第三个 li 元素
盒模型弹性盒布局(Flexbox)灵活布局网页元素,适应不同屏幕尺寸和方向.parent { display: flex; justify-content: center; }
多列布局(Multi - column Layout)将文本内容分为多列显示.column - container { column - count: 3; column - gap: 20px; }
背景和边框背景渐变(Background Gradients)创建线性和径向渐变背景background: linear - gradient(to right, red, yellow);
边框半径(Border Radius)为元素创建圆角边框border - radius: 10px;
边框图像(Border Image)使用图像作为元素边框border - image - source: url('border.png'); border - image - slice: 30;
文本效果文本阴影(Text Shadow)为文本添加阴影效果text - shadow: 3px 3px 5px gray;
文字换行(Word Wrapping)控制长单词或 URL 的换行规则word - wrap: break - word;
2D 和 3D 转换2D 转换(2D Transformations)对元素进行平移、旋转、缩放和倾斜操作transform: translate(20px, 30px) rotate(30deg);
3D 转换(3D Transformations)创建具有立体感的元素效果transform: perspective(800px) rotateX(45deg);
动画过渡(Transitions)实现元素属性值的平滑过渡transition: opacity 1s ease - in - out;
动画(Animations)使用关键帧定义并应用动画

6.1选择器

特性属性说明示例
属性选择器增强[attr^=value]选择属性值以 value 开头的元素a[href^="https"] { color: green; } 选择所有 href 属性以 "https" 开头的 <a> 元素
[attr$=value]选择属性值以 value 结尾的元素img[src$=".jpg"] { border: 1px solid red; } 选择所有 src 属性以 ".jpg" 结尾的 <img> 元素
[attr*=value]选择属性值包含 value 的元素input[name*="user"] { background-color: lightgray; } 选择所有 name 属性包含 "user" 的 <input> 元素
伪类选择器:nth-child(n)选择父元素的第 n 个子元素,n 可以是数字、关键字(如 odd 表示奇数,even 表示偶数)或公式(如 2n+1li:nth-child(2) { font-weight: bold; } 选择父元素下的第二个 <li> 元素
:nth-of-type(n)选择父元素中特定类型的第 n 个子元素p:nth-of-type(3) { color: blue; } 选择父元素下的第三个 <p> 元素

6.2盒模型

特性属性说明示例
弹性盒布局(Flexbox)display: flex / inline-flex将元素设置为弹性容器,flex 为块级弹性容器,inline-flex 为行内弹性容器.parent { display: flex; }
flex-direction定义子元素的排列方向,值有 row(水平从左到右)、row-reverse(水平从右到左)、column(垂直从上到下)、column-reverse(垂直从下到上).parent { flex-direction: column; }
justify-content定义子元素在主轴上的对齐方式,值有 flex-start(起始端对齐)、flex-end(结束端对齐)、center(居中对齐)、space-between(两端对齐,元素间间距相等)、space-around(元素周围间距相等)等.parent { justify-content: space-around; }
align-items定义子元素在交叉轴上的对齐方式,值有 flex-startflex-endcenterbaseline(基线对齐)、stretch(拉伸填充容器).parent { align-items: center; }
多列布局(Multi - column Layout)column-count指定列数.column-container { column-count: 3; }
column-gap设置列与列之间的间隙.column-container { column-gap: 20px; }
column-rule设置列之间的边框样式,可指定宽度、样式和颜色.column-container { column-rule: 1px solid black; }

6.3背景和边框

特性属性说明示例
背景渐变(Background Gradients)linear-gradient()创建线性渐变,可指定方向和颜色background: linear-gradient(to bottom, red, yellow);
radial-gradient()创建径向渐变,可指定中心位置、形状和颜色background: radial-gradient(circle at center, white, black);
边框半径(Border Radius)border-radius设置元素的圆角,可使用单个值(四个角相同)、两个值(左上和右下,右上和左下)、四个值(左上、右上、右下、左下)border-radius: 10px;
边框图像(Border Image)border-image-source指定边框图像的源文件border-image-source: url('border.png');
border-image-slice指定如何切割图像,值表示从图像边缘向内的切割距离border-image-slice: 30;
border-image-width指定边框图像的宽度border-image-width: 20px;

6.4文本效果

特性属性说明示例
文本阴影(Text Shadow)text-shadow为文本添加阴影,参数依次为水平偏移、垂直偏移、模糊半径和颜色text-shadow: 2px 2px 5px gray;
文字换行(Word Wrapping)word-wrap(现用 overflow-wrap)控制长单词或 URL 在容器边界处的换行规则,break-word 表示在单词内换行overflow-wrap: break-word;
word-break控制文本的换行规则,值有 normal(默认)、break-all(在任意字符间换行)、keep-all(不允许在单词内换行)word-break: break-all;

6.5-2D 和 3D 转换

特性属性说明示例
2D 转换(2D Transformations)transform: translate()对元素进行平移操作,参数为水平和垂直偏移量transform: translate(50px, 20px);
transform: rotate()对元素进行旋转操作,参数为旋转角度(单位为度)transform: rotate(45deg);
transform: scale()对元素进行缩放操作,参数为缩放比例transform: scale(1.5);
transform: skew()对元素进行倾斜操作,参数为水平和垂直倾斜角度transform: skew(20deg, 10deg);
3D 转换(3D Transformations)transform: perspective()设置 3D 场景的透视效果,参数为透视距离transform: perspective(1000px);
transform: rotateX()、rotateY()、rotateZ()分别绕 X、Y、Z 轴旋转元素,参数为旋转角度transform: rotateY(60deg);
transform-style指定子元素是否保留 3D 转换效果,值有 flat(不保留)、preserve-3d(保留).parent { transform-style: preserve-3d; }

6.6动画

特性属性说明示例
过渡(Transitions)transition-property指定要过渡的属性,可使用 all 表示所有属性transition-property: width;
transition-duration指定过渡的持续时间transition-duration: 2s;
transition-timing-function指定过渡的时间函数,如 ease(默认,缓入缓出)、linear(匀速)、ease-in(缓入)等transition-timing-function: linear;
transition-delay指定过渡的延迟时间transition-delay: 0.5s;
动画(Animations)@keyframes定义动画的关键帧,可指定动画在不同时间点的状态

 七、总结

CSS(层叠样式表)作为网页开发的关键技术,在网页呈现中扮演着不可或缺的角色。其语法规则是基础,选择器精准定位目标元素,声明块则以 “属性:值” 的形式赋予元素样式。

在实际应用中,CSS 首先对网页布局起着决定性作用。通过盒模型相关属性,如 width、height、padding、margin 和 border,可精确调控元素尺寸与位置;Flexbox 和 Grid 布局更是让复杂布局变得轻松,实现多列布局、响应式设计等,使网页在不同设备上都能完美适配。

从视觉设计层面,CSS 能设置丰富的文本样式,如字体、字号、颜色、对齐方式;利用背景属性定义背景颜色、图片及其展示方式;通过边框和阴影属性,让元素更具立体感。在交互效果上,过渡和动画属性使元素状态切换自然流畅,伪类选择器则为不同交互状态下的元素赋予独特样式。

总之,CSS 极大地提升了网页的美观度、交互性和用户体验,是网页开发中不可或缺的重要组成部分。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值