主要作用是指定网页的标题,这个标题就是浏览器里这个网页的tab头显示的名字。如下图所示。
1.2.5块级元素(Block-level Elements)类型标签
1.div元素
: 一个通用的容器元素,没有特定语义,主要用于组合其他元素
<div>
<p>天下之物生于有,有生于无。
道生一,一生二,二生三,三生万物。万物负阴而抱阳,中气以为和。</p>
</div>
2.p元素
: 表示段落,包含文本内容。
<p>【第一章】道,可道也,非恒道也。名,可名也,非恒名也。无,名也,天地之始也。有,名也,万物之母也。故恒无,谷也,以观其眇;恒有,谷也,以观其皦。两者同出,异名同谓。玄之有玄,众眇之门。</p>
3.ul和li元素
ul和li: 用来表示列表。
<ul>
<li>天</li>
<li>人</li>
<li>地</li>
</ul>
4.table、th、tr、td元素
table: 用于显示表格数据,其中th是表头,tr是行元素,td是单元格,
<table>
<tr>
<th>水</th>
<th>木</th>
<th>火</th>
<th>土</th>
<th>金</th>
</tr>
<tr>
<td>志</td>
<td>魂</td>
<td>神</td>
<td>意</td>
<td>魄</td>
</tr>
</table>
1.2.6行内元素(Inline Elements)类型标签
1.span元素
: 一个通用的行内容器,没有特定语义,通常用于样式化文本的一部分。
<span style="color: red;">This text is red.</span>
2.a元素
也称为锚(anchor)元素,在HTML中用于定义超链接。通过 元素,你可以链接到另一个资源,这可以是另一个网页、同一网页的不同部分、图像、文件或任何其他URL可访问的资源。 元素最重要的属性是 href,它指定了链接的目标地址。
关键属性:
- href (Hypertext REFerence): 指定链接的目标URL。这是创建链接时必须的属性。
- target: 指定在何处打开链接文档。例如,_blank 会在新窗口或新标签页中打开链接,_self
在相同的框架或窗口中打开链接(这是默认行为)。\ - title: 提供关于链接的额外信息,通常作为工具提示显示。
- rel: 描述当前文档与被链接文档之间的关系。例如,rel=“nofollow” 可以告诉搜索引擎不要追踪链接。
- download: (HTML5中引入):指定链接是为了下载资源。如果指定了 download 属性,浏览器会提示用户下载链接的资源。
3.img元素
以下是 margin 和 padding 的属性值及其含义:
margin 属性:
.example-margin {
margin-top: 20px;
margin-right: 30px;
margin-bottom: 20px;
margin-left: 30px;
}
.example-margin {
margin: 20px 30px;
}
.example-margin-2 {
margin: 10px 20px;
}
.example-margin-3 {
margin: 5px 10px 15px;
}
.example-margin-4 {
margin: 8px 12px 8px 12px;
}
padding 属性:
- padding-top: 顶部内边距。
- padding-right: 右侧内边距。
- padding-bottom: 底部内边距。
- padding-left: 左侧内边距。
- padding: 简写属性,可以同时设置所有四个方向的内边距。
padding 的值可以是:
- 具体数值,如 10px。
- 百分比,相对于包含块的宽度。
.example-padding {
padding-top: 15px;
padding-right: 25px;
padding-bottom: 15px;
padding-left: 25px;
}
.example-padding {
padding: 15px 25px;
}
.example-padding-2 {
padding: 10% 20%;
}
.example-padding-3 {
padding: 2em 4em 1em;
}
.example-padding-4 {
padding: 8px 12px 15px 20px;
}
ul的css属性
ul元素有几个控制列表效果的专有属性:
ul.custom-list-type {
list-style-type: square;
list-style-image: url('custom-bullet.png');
list-style-position: inside;
}
li.custom-list-item {
padding-left: 10px; /* 为列表项添加左内边距 */
}
table、tr、td的特殊css属性
1.table专有:
border-collapse 属性: 决定表格的边框是否合并为一个单一的边框。
- collapse: 相邻单元格的边框会合并为一个单一的边框,这是默认值。
- separate: 每个单元格的边框独立显示,单元格之间的间隙由 border-spacing 属性控制。
table-layout 属性: table-layout 属性定义了表格的布局算法。 - auto: 浏览器根据表格的行和列的尺寸自动计算表格的布局,这可能导致行和列的尺寸根据内容动态变化。
- fixed: 表格的宽度和列宽固定,列宽由表格宽度和 width 属性决定,行的高度由内容决定。
/* 表格样式示例 */
table.collapse-border {
border-collapse: collapse; /* 边框合并 */
border: 1px solid black; /* 边框样式 */
}
table.separate-border {
border-collapse: separate; /* 边框独立 */
border: 1px solid #ccc; /* 边框样式 */
border-spacing: 10px; /* 边框间距 */
}
table.auto-layout {
table-layout: auto; /* 自动布局 */
width: 100%; /* 表格宽度 */
}
table.fixed-layout {
table-layout: fixed; /* 固定布局 */
width: 60%; /* 表格宽度 */
border: 2px solid blue; /* 边框样式 */
}
/* 示例HTML结构 */
<table class="collapse-border">
<tr>
<th>标题1</th>
<th>标题2</th>
</tr>
<tr>
<td>内容1</td>
<td>内容2</td>
</tr>
</table>
<table class="separate-border">
<tr>
<th>标题1</th>
<th>标题2</th>
</tr>
<tr>
<td>内容1</td>
<td>内容2</td>
</tr>
</table>
<table class="auto-layout">
</table>
<table class="fixed-layout">
</table>
在这个示例中,我们演示了不同的 border-collapse 和 table-layout 属性值如何影响表格的显示:
- .collapse-border 类的表格使用了 collapse 属性,边框合并为单一的边框。
- .separate-border 类的表格使用了 separate 属性,边框独立显示,并通过 border-spacing 属性设置了边框间距。
- .auto-layout 类的表格使用了 auto 属性,表格布局根据内容自动调整。
- .fixed-layout 类的表格使用了 fixed 属性,表格布局固定,宽度由 width 属性决定。
2.tr和td专有:
- vertical-align: 设置单元格内容的垂直对齐方式。
- vertical-align: 设置单元格内容的垂直对齐方式。
input的css属性
outline属性
outline 属性在CSS中用于绘制元素轮廓,它是一个简写属性,允许你在一个声明中设置多个轮廓属性。以下是 outline 的属性值及其含义:
- outline-width:设置轮廓的宽度。可以是具体数值(如 1px)、百分比或关键字(如 thin, medium, thick)。
- outline-style:设置轮廓的样式,如 solid(实线)、dotted(点线)、dashed(虚线)、double(双线)、groove、ridge、inset、outset 等。
- outline-color:设置轮廓的颜色。可以是颜色名称(如 red)、十六进制值(如 #ff0000)、RGB 值(如 rgb(255, 0, 0))等。
- outline-offset:设置轮廓与元素边框之间的距离。
- outline 属性的值可以组合使用,例如 outline: 1px solid red;,也可以只设置一个值,如 outline: none;。
CSS 示例代码:
.no-outline {
outline: none;
}
.solid-outline {
outline: 2px solid blue;
}
.dotted-outline {
outline: 1px dotted green;
}
.dashed-outline {
outline: 3px dashed #333;
}
.double-outline {
outline: 3px double #000;
}
.offset-outline {
outline: 2px solid red;
outline-offset: 5px;
}
.custom-outline {
outline-width: 1px;
outline-style: dashed;
outline-color: #ff00ff;
}
在这个示例中:
- .no-outline 类移除了轮廓。
- .solid-outline 类添加了蓝色实线轮廓。
- .dotted-outline 类添加了绿色点线轮廓。
- .dashed-outline 类添加了灰色虚线轮廓。
- .double-outline 类添加了黑色双线轮廓。
- .offset-outline 类添加了红色轮廓,并设置了轮廓偏移。
- .custom-outline 类组合使用了轮廓宽度、样式和颜色。
轮廓通常用于视觉反馈,如当元素获得焦点时,可以通过 :focus 伪类来添加轮廓样式
2.2.3CSS优先级(重点)
在 CSS 中,优先级(Specificity)决定了当多个规则应用于同一个元素时,哪条规则会生效。优先级是由选择器的类型和复杂度决定的。CSS属性的优先级可以分为以下几种:
- 重要性(Importance)
!important 是一种特殊的优先级,优先于所有其他规则。即使其他规则的优先级更高,带有 !important 的规则仍然会覆盖它们。、
p {
color: red !important;
}
- 内联样式(Inline Styles)
通过元素的 style 属性直接设置的样式,优先级高于所有CSS选择器,但低于 !important。
<p style="color: blue;">This is a paragraph.</p>
- ID选择器(ID Selectors)
ID选择器的优先级较高,它的权重为100。
#my-id {
color: green;
}
- 类、伪类和属性选择器(Class, Pseudo-class, and Attribute Selectors)
类选择器、伪类选择器和属性选择器的优先级相同,它们的权重为10。
.my-class {
color: purple;
}
p:hover {
color: orange;
}
input[type="text"] {
color: bro
wn;
}
5. 元素和伪元素选择器(Element and Pseudo-element Selectors)
元素选择器和伪元素选择器的优先级最低,它们的权重为1。
div {
color: black;
}
p::after {
content: "!";
color: red;
}
- 选择器组合和层叠(Selector Combinations and Cascade)
当选择器组合在一起时,其优先级是各个部分权重的总和。例如:
div span {
color: blue;
}
ul li .item {
color: green;
}
#main .highlight {
color: yellow;
}
- 层叠顺序(Cascade Order)
当多个选择器的优先级相同时,离目标元素最近的规则将覆盖其他规则。如果它们在同一个层次上,后定义的规则将覆盖之前的规则。
p {
color: red;
}
.intro {
color: blue;
}
#main {
color: green;
}
p {
color: orange;
}
具体示例
下面是一个具体示例,展示了优先级的实际应用:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Specificity Example</title>
<style>
p {
color: red;
}
.intro {
color: blue;
}
#main {
color: green;
}
p {
color: orange;
}
p.intro {
color: purple;
}
</style>
</head>
<body>
<p>This is a paragraph with low specificity.</p>
<p class="intro">This is a paragraph with class.</p>
<div id="main">
<p>This is a paragraph inside a div with id.</p>
</div>
</body>
</html>
在上述示例中,不同选择器的优先级将决定每个段落的最终颜色:
- 第一个段落颜色为 orange,因为 p { color: orange; } 规则在文档流中更靠后。
- 第二个段落颜色为 purple,因为 .intro { color: blue; } 的权重是 10,而 p.intro { color: purple; } 的权重是 11。
- 第三个段落颜色为 green,因为 #main { color: green; } 的权重是 100。‘’
总结
CSS 优先级由 !important、内联样式、ID选择器、类选择器、伪类选择器、属性选择器、元素选择器和伪元素选择器的权重决定。当多个规则作用于同一元素时,优先级更高的规则将生效。理解并正确运用CSS优先级,有助于更有效地控制样式应用和解决样式冲突。
三、初学者常见错误
1. 标签未闭合或嵌套不正确
错误: 初学者常常忘记闭合标签或者标签嵌套不正确。
<p>This is a paragraph
<div>This is a div</div>
正确示例:
<p>This is a paragraph</p>
<div>This is a div</div>
2. 块级元素和行内元素的混淆
错误: 将块级元素放在行内元素内部。
<span><div>This is a div inside a span</div></span>
正确示例:
<div><span>This is a span inside a div</span></div>
3. 使用错误的标签
错误: 使用不合适的标签来标记内容。
<b>This is bold text</b>
<i>This is italic text</i>
正确示例: 现在推荐使用具有语义的标签。
<strong>This is bold text</strong>
<em>This is italic text</em>
4. 忘记包括
错误: 忘记在HTML文档开头声明文档类型。
<html>
<head>
<title>My Page</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
正确示例:
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
5. 不正确的注释使用
错误: 错误地使用注释标签。
正确示例:
6. 忘记字符编码声明
错误: 忘记在部分设置字符编码。
<head>
<title>My Page</title>
</head>
正确示例:
<head>
<meta charset="UTF-8">
<title>My Page</title>
</head>
E-->