前言
- 系列文章目录:
- 根据视频和PPT整理
- 视频及对应资料:
- HTML CSS
元素显示模式就是元素(标签)以什么方式进行显示,比如<div>
自己占一行,比如一行可以放多个<span>
。
HTML 元素一般分为块元素和行内元素两种类型。
1 块元素
常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>
等,其中 <div>
标签是最典型的块元素。
块级元素的特点:
- ① 独占一行。
- ② 高度,宽度、外边距以及内边距都可以控制。
- ③ 宽度默认是容器(父级宽度)的100%。
- ④ 是一个容器及盒子,里面可以放行内或者块级元素。
<body>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Voluptas veritatis, animi a totam consequatur, beatae sapiente eum numquam officiis neque architecto molestiae assumenda itaque quam optio earum nam delectus accusantium.</p>
<div class="demo1">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque sed recusandae, ut eveniet quam earum, officiis consequuntur, tenetur similique hic perferendis dolore! Similique, quas nesciunt quisquam non unde provident velit!</p>
</div>
<div class="demo2">
<span>Lorem </span>
</div>
</body>
<style>
p {
/* 设置边框 边框的宽度1px, 实线, 黑色 */
border: 1px solid black;
}
.demo1 {
height: 100px;
background-color: blue;
}
.demo2 {
height: 100px;
width: 100px;
background-color: blanchedalmond;
}
</style>
注意:
- 文字类的元素内不能使用块级元素
<p>
标签主要用于存放文字,因此<p>
里面不能放块级元素,特别是不能放<div>
- 同理,
<h1>~<h6>
等都是文字类块级标签,里面也不能放其他块级元素
<body>
<p>
<div class="demo2"></div>
</p>
</body>
<style>
p {
/* 设置边框 边框的宽度1px, 实线, 黑色 */
border: 1px solid black;
}
.demo1 {
height: 100px;
background-color: blue;
}
.demo2 {
height: 100px;
width: 100px;
background-color: blanchedalmond;
}
</style>
由于 p 标签内不能放块元素,浏览器帮我们进行了处理,将原来的一个 p 标签拆分成了两个
2 行内元素
常见的行内元素有 <a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>
等,其中
<span>
标签是最典型的行内元素。有的地方也将行内元素称为内联元素。
行内元素的特点:
- ① 相邻行内元素在一行上,一行可以显示多个。
- ② 高、宽直接设置是无效的。
- ③ 默认宽度就是它本身内容的宽度。
- ④ 行内元素只能容纳文本或其他行内元素。
<body>
<!-- 相邻行内元素在一行上,一行可以显示多个。 -->
<strong>相邻行内元素在一行上,一行可以显示多个。</strong>
<strong>相邻行内元素在一行上,一行可以显示多个。</strong>
<strong>相邻行内元素在一行上,一行可以显示多个。</strong>
<em>相邻行内元素在一行上,一行可以显示多个。</em>
</body>
<style>
/* 默认宽度就是它本身内容的宽度。 */
/* 高、宽直接设置是无效的。 */
strong {
height: 100px;
width: 100px;
}
</style>
注意:
- 链接里面不能再放链接
- 特殊情况链接
<a>
里面可以放块级元素,但是给<a>
转换一下块级模式最安全
<body>
<a href="hello">
<a href=""></a>
</a>
</body>
3 行内块元素
在行内元素中有几个特殊的标签 —— <img />、<input />、<td>
,它们同时具有块元素和行内元素的特点。有些资料称它们为行内块元素。
行内块元素的特点:
- ① 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。
- ② 默认宽度就是它本身内容的宽度(行内元素特点)。
- ③ 高度,行高、外边距以及内边距都可以控制(块级元素特点)。
<body>
<input type="text" class="demo1">
<input type="text" class="demo1">
<input type="text" class="demo2">
<input type="text" class="demo3">
</body>
<style>
.demo1 {
height: 100px;
width: 200px;
}
</style>
4 元素显示模式总结
5 元素显示模式转换
5.1 转换为块元素:
display:block;
<a href="#">#</a>
<a href="#">#</a>
<style>
a {
display: block;
height: 100px;
width: 200px;
/* 边框 */
border: 1px solid black;
background-color: coral;
}
</style>
5.2 转换为行内元素
display:inline;
<div>123</div>
<div>123</div>
div {
display: inline;
background-color: aqua;
}
5.3 转换为行内块
display: inline-block;
<span>123</span>
<span>123</span>
<span>123</span>
span {
display: inline-block;
background-color: brown;
width: 200px;
height: 200px;
}
6 案例 – 简洁版小米侧边栏
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
a {
display: block;
width: 249px;
height: 50px;
background-color: #a2a0a0;
color: #fefefe;
/* 字体垂直居中 line-height 设置与容器的高度相同 */
line-height: 50px;
/* 取消下划线 */
text-decoration: none;
/* 文字与左边的边距 后面可以使用内外边距设置 */
text-indent: 2rem;
}
/* 鼠标悬停的样式 */
a:hover {
background-color: #ff6700;
}
</style>
</head>
<body>
<div class="container">
<a href="#">手机</a>
<a href="#">电视</a>
<a href="#">笔记本 平板</a>
<a href="#">出行 穿戴</a>
<a href="#">耳机 音响</a>
<a href="#">家电</a>
<a href="#">智能 路由器</a>
<a href="#">电源 配件</a>
<a href="#">健康 儿童</a>
<a href="#">生活 箱包</a>
</div>
</body>
</html>