目录
引入CSS样式表(书写位置)
内部样式表
内嵌式是将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义。
<head>
<style type="text/css">
选择器 {属性1:属性值1; 属性2:属性值2;属性3:属性值3;}
</style>
</head>
语法中,style标签一般位于head标签中title标签之后,也可以把它放在HTML文档的任何地方。
type=”text/css”在html5中可以省略,写上也比较符合规范,所以这个地方可以写也可以省略。
行内式(内联样式)
内联样式,又有人称行内样式、行内样式、内嵌样式。是通过标签的style属性来设置元素的样式。
<标签名 style="属性1:属性值1; 属性2:属性值2;属性3:属性值3;">内容</标签名>
语法中style是标签的属性,实际上任何HTML标签都拥有style属性,用来设置行内式。其中属性和值的书写规范与CSS样式规则相同,行内式只对其所在的标签及嵌套在其中的子标签起作用。
外部样式表(外链式)
链入式是将所有的样式放在一个或多个以.CSS为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到HTML文档中。
<head>
<link href="css文件的路径" type="text/css" rel="stylesheet" />
</head>
注意:link是个单标签
该语法中,link标签需要放在head头部标签中,并且必须指定link标签的三个属性:
- herf:定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径。
- type:定义所链接文档的类型,在这里需要指定为“text/CSS”,表示链接的外部文件为CSS样式表。
- rel:定义当前文档与被链接文档之间的关系,在这里需要指定为“stylesheet”,表示被链接的文档是一个样式表文件。
三种样式表总结
样式表 | 优点 | 缺点 | 使用情况 | 控制范围 |
---|---|---|---|---|
行内样式表 | 书写方便,权重高 | 没有实现样式和结构相分离 | 较少 | 控制一个标签(少) |
内嵌样式表 | 部分结构和样式相分离 | 没有彻底分离 | 较多 | 控制一个页面(中) |
外部样式表 | 完全实现结构和样式相分离 | 需要引入 | 最多,强烈推荐 | 控制整个站点(多) |
标签显示模式(display)
块级元素(block-level)
每个块元素通常都会独自占据一整行或多整行,可以对其设置宽度、高度、对齐等属性,常用于网页布局和网页结构的搭建。
常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素
块级元素的特点:
- 总是从新行开始
- 高度,行高、外边距以及内边距都可以控制
- 宽度默认是容器的100%
- 可以容纳内联元素和其他块元素
<head>
<title></title>
<style type="text/css">
div {
background-color: pink;
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<div>123</div><p>456</p><div>789</div>
</body>
在浏览器中显示为
行内元素(inline-level)
行内元素(内联元素)不占用独立的区域,仅仅靠自身的字体大小和图像尺寸来支撑结构,一般不可以设置宽度、高度、对齐等属性,常用于控制页面中文本的样式。
常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中,<spam>标签最典型的行内元素
行内元素的特点:
- 和相邻行内元素在一行上
- 高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效
- 默认宽度就是它本身内容的宽度
- 行内元素只能容纳文本或则其他行内元素(a特色)
注意:
- 只有文字才能组成段落,因此 p 里面不能放块级元素,同理还有这些标签h1,h2,h3,h4,h5,h6,dt,他们都是文字类块级元素,里面不能放其他块级元素
- 链接里面不能再放链接
<head>
<title></title>
<style type="text/css">
span {
background-color: pink;
}
</style>
</head>
<body>
<span>123</span>
<span>456</span>
<span>789</span>
</body>
在浏览器中显示为
块级元素和行内元素区别
块级元素的特点:
- 总是从新行开始
- 高度,行高、外边距以及内边距都可以控制
- 宽度默认是容器的100%
- 可以容纳内联元素和其他块元素
行内元素的特点:
- 和相邻行内元素在一行上
- 高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效
- 默认宽度就是它本身内容的宽度
- 行内元素只能容纳文本或则其他行内元素(a特色)
行内块元素(inline-block)
在行内元素中有几个特殊的标签——、、,可以对他们设置宽高和对齐属性,有些资料可能会称他们为行内块元素。
行内块元素的特点:
- 和相邻行内元素(行内块)在一行上,但是之间会有空白缝隙
- 默认宽度就是它本身内容的宽度
- 高度,行高、外边距以及内内边距都可以控制
<head>
<title></title>
<style type="text/css">
input {
width: 200px;
height: 30px;
}
</style>
</head>
<body>
<input type="text" /><input type="text" /><input type="text" />
</body>
在浏览器中显示为
标签显示模式转换 display
块转行内:display:inline;
行内转块:display:block;
块、行内元素转换为行内块:display:inline-block;
此阶段,我们只需关心这三个,其他的是我们后面的工作
<head>
<title></title>
<style type="text/css">
div {
background-color: pink;
width: 100px;
height: 100px;
display: inline;/*块级标签模式转为行内标签显示模式*/
}
span {
width: 100px;
height: 100px;
background-color: hotpink;
display: block;/*行内标签模式转为块级标签显示模式*/
}
a {
width: 50px;
height: 20px;
background-color: deeppink;
display: inline-block;/*行内标签模式转为行内块标签显示模式*/
}
</style>
</head>
<body>
<div>123</div>
<div>456</div>
<div>789</div>
<span>123</span>
<span>456</span>
<span>789</span>
<a href="#">123</a>
<a href="#">456</a>
<a href="#">789</a>
</body>
在浏览器中显示为