CSS(Cascading Style Sheets,层叠样式表)和 HTML 类似,CSS 也不是真正的编程语言,甚至不是标记语言。CSS 是一门样式表语言,用于为 HTML 元素添加样式,描述 HTML 文档外观,控制 HTML 文档元素的颜色、大小、字体、布局等。
CSS 是 Web 开发的重要组成部分,它可以帮助您创建美观、易于使用的 Web 页面。
CSS 样式由选择器和属性组成。选择器用于选择要应用样式的 HTML 元素。属性用于指定样式的值。
示例:
p {
color: red;
}
效果:
<p>
元素)。要给不同元素添加样式,只需要更改选择器。
<p>
元素的属性)。CSS 中,由编写人员决定修改哪个属性以改变规则。
将 CSS 代码直接写在 HTML 标签中,使用 style
属性。
内联引用是将样式代码直接写在HTML标签中,是一种简单快捷的方法。内联引用的优点是方便快捷,适用于少量样式。但是,内联引用也存在以下缺点:
示例:
<div style="color: red; font-size: 16px;">这是一个红色的字体</div>
效果:
将 CSS 代码写在 <style>
标签中,放在 <head>
标签内。
内部引用是将样式代码写在HTML文件的style
标签中,是一种相对折中的办法。内部引用的优点是样式和HTML文件分离,易于维护。此外,内部引用可以利用浏览器缓存提高加载速度。但是,内部引用也存在以下缺点:
示例:
div {
color: red;
font-size: 16px;
}
<div>这是一个红色的字体</div>
效果:
将 CSS 代码写在一个单独的 CSS 文件中,然后使用 link
标签引入。
外部引用是将样式代码写在单独的CSS文件中,是一种比较规范的方法。外部引用的优点是样式和HTML文件完全分离,易于维护。此外,外部引用可以通过CDN加速,提高文件加载速度。外部引用还支持压缩和合并,减小文件大小。但是,外部引用也存在以下缺点:
示例:
<head>
<!-- 在当前目录中,引用子文件夹 styles 中的样式表文件 -->
<link rel="stylesheet" href="style.css" />
<!-- 在当前目录中,引用子文件夹 styles 中的子文件夹 general 中的样式表文件 -->
<link rel="stylesheet" href="/style.css" />
<!-- 在当前目录的父级目录中,引用子文件夹 styles 中的样式表文件 -->
<link rel="stylesheet" href="../styles/style.css" />
</head>
div {
color: red;
font-size: 16px;
}
效果:
CSS层叠顺序(Cascading Order)和优先级(Specificity)是决定CSS显示样式效果的两个关键因素。
层叠顺序:CSS层叠顺序定义了样式规则的权重,从高到低的顺序是。
优先级:当有多个同一层级,或存在多个相互冲突的样式规则时,CSS按优先级显示样式效果。
.container
。通过属性选择器指定的样式,如:[type="text"]
。通过伪类选择器指定的样式,如::hover
。div
、p
。在优先级相同的情况下,后定义的规则优先级高。
示例:
#header {
color: red;
}
.container p {
color: blue;
}
p {
color: green;
}
CSS继承是指子元素从父元素继承一些属性值的特性。继承是CSS中的一个重要的特性,它可以简化样式的编写,提高代码的可维护性。不是所有的CSS属性都可以继承,只有一部分属性被定义为可继承的。
CSS继承的属性主要有以下几种:
不具备继承性的CSS属性,例如,width
、height
、margin
、padding
等盒子模型相关的属性,定位(position
)、浮动(float
)、清除浮动(clear
)等布局相关的属性。
基本属性 width、height:设置元素的宽度和高度。 margin:设置元素的边距。 padding:设置元素的内边距。 color、background-color:设置元素的颜色和背景颜色。 font-size、font-family、font-weight、font-style:设置元素的字体大小、字体、字体粗细和字体样式。
布局属性 display:设置元素的显示方式。 float:设置元素的浮动方式。 position:设置元素的位置。 top、left、right、bottom:设置元素的顶部、左侧、右侧和底部位置。 z-index:设置元素的层叠顺序。
文字属性 text-align:设置元素的文本对齐方式。 text-decoration:设置元素的文本修饰。 line-height:设置元素的行高。 font-variant:设置元素的字体变体。 text-transform:设置元素的文本转换。 letter-spacing、word-spacing:设置元素的字符间距和单词间距。
边框属性 border:设置元素的边框样式。 border-width:设置元素的边框宽度。 border-style:设置元素的边框样式。 border-color:设置元素的边框颜色。 border-radius:设置元素的边框圆角。
背景属性 background:设置元素的背景。 background-color:设置元素的背景颜色。 background-image:设置元素的背景图片。 background-repeat:设置元素的背景图片重复方式。 background-position:设置元素的背景图片位置。 background-size:设置元素的背景图片大小。
过渡属性 transition:设置元素的过渡效果。 transition-property:设置元素过渡的属性。 transition-duration:设置元素过渡的时间。 transition-timing-function:设置元素过渡的函数。 transition-delay:设置元素过渡的延迟。