[CSS]CSS 的元素显示模式

发布于:2022-12-17 ⋅ 阅读:(294) ⋅ 点赞:(0)

请添加图片描述


前言



元素显示模式就是元素(标签)以什么方式进行显示,比如<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>

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到