本章主要探讨 HTML5 中 CSS(层叠样式表),它是用来对 HTML 文档外观的表现形式进行排版和格式化。
一.使用 CSS3
CSS 样式由一条或多条以分号隔开的样式声明组成。每条声明的样式包含着一个 CSS属性和属性值。
<p style="color:red;font-size:50px;">这是一段文本</p>
解释:style 是行内样式属性。color 是颜色属性,red 是颜色属性值;font-size是字体大小属性,50px 是字体大小属性值。
二.三种方式
创建 CSS 样式表有三种方式:1.元素内嵌样式;2.文档内嵌样式;3.外部引入样式。
1.元素内嵌样式
<p style="color:red;font-size:50px;">这是一段文本</p>
解释:即在当前元素使用 style 属性的声明方式。
2.文档内嵌样式
<style type="text/css">p {color: blue; font-size: 40px;}</style>
<p>这是一段文本</p>解释:在<head>元素之间创建<style>元素,通过选择器的方式调用指定的元素并设置相关 CSS。
3.外部引用样式
<link rel="stylesheet" type="text/css" href="style.css">
@charset "utf-8";
p {color: green;font-size: 30px;}解释:很多时候,大量的 HTML 页面使用了同一个组 CSS。那么就可以将这些 CSS 样式保存在一个单独的.css 文件中,然后通过<link>元素去引入它即可。@charset "utf-8" 表明设置 CSS 的字符编码,如果不写默认就是 utf-8。如果有多个.css 文件,可以使用@import 导入方式引入.css 文件。只不过,性能不如多个<link>链接。
三.层叠和继承
所谓的样式表层叠:指的是同一个元素通过不同方式设置样式表产生的样式重叠。样式表继承:指的是某一个被嵌套的元素得到它父元素样式。还有一种样式叫浏览器样式,是这个元素在这个浏览器运行时默认附加的样式。
1.浏览器样式
<b>这个元素隐含加粗样式</b> <span style="font-weight:bold;">这个元素通过 style 加粗</span>
解释:<b>元素就是具有加粗的隐含样式,而<span>元素没有任何隐含样式,通过 style属性设置样式。
2.样式表层叠
样式表层叠通过五种方式进行,如果样式相同,那么比如会产生冲突替换。这时,它的优先级顺序就显的比较重要。以下优先级从低到高:
(1).浏览器样式(元素自身携带的样式);
(2).外部引入样式(使用<link>引入的样式);
(3).文档内嵌样式(使用<style>元素设置);
(4).元素内嵌样式(使用 style 属性设置)。
元素内嵌
<p style="color:red;font-size:30px;">我将被三种方式叠加样式</p>
文档内嵌
<style type="text/css">
p {color:blue; font-weight: bold;}
</style>外部引入
@charset "utf-8";
p {
color: green;
font-style: italic;
}如果某一个样式被优先级高的给替换掉了,却又想执行这个样式方案,可以将这个方案标记成重要样式(important)。
强行设置最高优先级
color: green !important;
3.样式继承
如果某一个元素并没有设置父元素相关的样式,那么就会使用继承机制将父元素的样式集成下来。
<b>元素继承了<p>元素的样式 <p style="color:red;">这是<b>HTML5</b></p>
样式继承只适用于元素的外观(文字、颜色、字体等),而元素在页面上的布局样式则不会被继承。如果继承这种样式,就必须使用强制继承:inherit。
强制继承布局样式
<p>这是<b>HTML5</b></p>
<style type="text/css">
p {border: 1px solid red;}
b {border : inherit;}
</style>实操源码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>css3入门</title>
<meta name="author" content="PHP课堂">
<style type="text/css">
*{padding: 0; margin: 0;}
ul,li{ list-style-type: none; }
a{ text-decoration: none; color:#000;}
body{font-family: '微软雅黑';}
dl{width:100%; height: auto; padding: 20px 0; border-bottom: 1px solid #ccc;}
dl dt{ padding-bottom: 5px; color: red; text-indent: 5px;}
dl dd{ padding: 5px;}
</style>
</head>
<body>
<dl>
<dt>使用 CSS</dt>
<dd><p style="font-size: 14px; color: green;">解释:style 是行内样式属性。color 是颜色属性,green 是颜色属性值;font-size是字体大小属性,14px 是字体大小属性值。</p></dd>
</dl>
<dl>
<dt>三种方式</dt>
<dt>1.元素内嵌样式</dt>
<dd><p style="font-size:14px; color: green;">解释:即在当前元素使用 style 属性的声明方式。</p></dd>
<dt>2.文档内嵌样式</dt>
<style type="text/css">p{color:green; font-size: 14px;}</style>
<dd><p>解释:在"head"元素之间创建"style"元素,通过选择器的方式调用指定的元素并设置相关 CSS。此时为了方便我写在标签上方</p></dd>
<dt>3.外部引用样式</dt>
<link rel="stylesheet" href="css/base.css">
<dd><p>解释:很多时候,大量的 HTML 页面使用了同一个组 CSS。那么就可以将这些 CSS 样式保存在一个单独的.css 文件中,然后通过"link"元素去引入它即可。@charset "utf-8"表明设置 CSS 的字符编码,如果不写默认就是 utf-8。如果有多个.css 文件,可以使用@import 导入方式引入.css 文件。只不过,性能不如多个"link"链接。</p></dd>
</dl>
<dl>
<dt>三.层叠和继承</dt>
<dd>1.浏览器样式</dd>
<dd>
<b>这个元素隐含加粗样式</b>
<span style="font-weight:bold;">这个元素通过 style 加粗</span>
</dd>
<dd>解释:"b"元素就是具有加粗的隐含样式,而"span"元素没有任何隐含样式,通过 style属性设置样式。</dd>
<dd>2.样式表层叠</dd>
<dd>
<style>
.p2{font-size:20px !important; color:red;}
</style>
<p style="color:green; font-size:15px;">我将被三种方式叠加样式</p>
</dd>
<dd>3.样式继承</dd>
<dd>
<style>.p3{color:green;} .p3 span{ font-weight: bold; }</style>
<p>样式继承只适用于元素的外观(文字、颜色、字体等),而元素在页面上的布局样式则不会被继承。如果继承这种样式,就必须使用强制继承:<span>inherit。</span></p>
</dd>
</dl>
</body>
</html>
学博星辰


