我是靠谱客的博主 安静皮皮虾,最近开发中收集的这篇文章主要介绍CSS 的元素显示模式1 什么是元素显示模式2 块元素3 行内元素4 行内块元素5 元素显示模式总结6 元素显示模式转换7 简洁版小米侧边栏案例8 小技巧:单行文字垂直居中9 一个注意点:块级元素不会自动换行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 什么是元素显示模式

作用: 网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页。

元素显示模式 就是元素(标签)以什么方式进行显示,比如 <div> 自己占一行,比如一行可以放多个 <span>

HTML 元素一般分为 块元素行内元素 两种类型。

2 块元素

常见的块元素有 <h1> ~ <h6><p><div><ul><ol><li><dl><dt><dd><table><tr><form> 等,其中 <div> 标签是最典型的块元素。

块级元素的特点:

  • 比较霸道,自己独占一行
  • 高度,宽度、外边距以及内边距都可以控制
  • 宽度默认是容器(父级宽度)的 100%
  • 是一个容器及盒子,里面可以放行内或者块级元素

注意:

  • 文字类的块级元素内不能放置块级元素,会发生语法错误
  • <p> 标签主要用于存放文字,因此 <p> 里面不能放块级元素,特别是不能放 <div>
  • 同理, <h1> ~ <h6> 等都是文字类块级标签,里面也不能放其他块级元素
<!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>
        /* 块: 独占一行; 宽度默认是父级100%; 添加宽度都生效 */
        div {
            width: 300px;
            height: 300px;
            background-color: pink;

            /* 行内块 */
            /* display: inline-block; */

            /* 行内 */
            display: inline;
        }
    </style>
</head>
<body>
    <div>11111</div>
    <div>22222</div>
</body>
</html>

3 行内元素

常见的行内元素有 <a><span><em><strong> 等,其中 <span> 标签是最典型的行内元素,有的地方也将行内元素称为内联元素。

行内元素的特点:

  • 相邻行内元素在一行上,一行可以显示多个

  • 高、宽直接设置是无效的

  • 默认宽度就是它本身内容的宽度

  • 行内元素只能容纳文本或其他行内元素(a 除外)

注意:

  • 链接里面不能再放链接
  • 特殊情况链接 <a> 里面可以放块级元素,但是给 <a> 转换一下块级模式最安全
<!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>
        /* 行内: 不换行; 设置宽高不生效; 尺寸和内容的大小相同 */
        span {
            width: 300px;
            height: 300px;
            background-color: pink;

            /* 行内块 */
            /* display: inline-block; */

            /* 块 */
            display: block;
        }
    </style>
</head>
<body>
    <span>span</span>
    <span>span</span>
</body>
</html>

4 行内块元素

在行内元素中有几个特殊的标签:<img><input><th><td>,它们同时具有 块元素行内元素 的特点,有些资料称它们为 行内块元素

行内块元素的特点:

  • 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)
  • 默认宽度就是它本身内容的宽度(行内元素特点)
  • 高度,行高、外边距以及内边距都可以控制(块级元素特点)
<!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>
        /* 行内块: 一行显示多个; 加宽高生效 */
        img {
            width: 100px;
            height: 100px;
        }
    </style>
</head>
<body>
    <img src="./images/1.jpg" alt="">
    <img src="./images/1.jpg" alt="">
</body>
</html>

5 元素显示模式总结

元素模式元素排列设置样式默认宽度包含
块级元素一行只能放一个块级元素可以设置宽度和高度容器的 100%容量级可以包含任何标签
行内元素一行可以放多个行内元素不可以直接设置宽度和高度它本身内容的宽度容纳文本或其他行内元素
行内块元素一行放多个行内块元素可以设置宽度和高度它本身内容的宽度

学习元素显示模式的主要目的是分清它们各自的特点,当我们网页布局的时候,在合适的地方用合适的标签元素。

6 元素显示模式转换

特殊情况下,我们需要元素模式的转换,简单理解: 一个模式的元素需要另外一种模式的特性
比如:想要增加链接 <a> 的触发范围。

  • 转换为块元素:display: block;(由于经常需要设置宽高,所以通常会将行内元素转换为块元素)
  • 转换为行内元素:display: inline;
  • 转换为行内块:display: inline-block;(常用)
<!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>元素显示模式之显示模式的转换</title>
    <style>
        a {
            width: 150px;
            height: 50px;
            background-color: orange;
            /* 把行内元素 a 转换为 块级元素 */
            display: block;
        }

        div {
            width: 300px;
            height: 100px;
            background-color: black;
            color: white;
            /* 把 div 块级元素转化为行内元素 */
            display: inline;
        }

        span {
            width: 300px;
            height: 30px;
            background-color: skyblue;
            /* 行内元素转化为行内块元素 */
            display: inline-block;
        }
    </style>
</head>

<body>
    <a href="#">我是行内元素</a>
    <a href="#">我是行内元素</a>
    <div>我是块级元素</div>
    <div>我是块级元素</div>
    <span>行内元素转化为行内块元素</span>
    <span>行内元素转化为行内块元素</span>
</body>

</html>

7 简洁版小米侧边栏案例

<!doctype html>
<html lang="zh-CN">

<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>简洁版小米侧边栏案例</title>
    <style>
        /* 1、把 a 转换为块级元素 */
        a {
            display: block;
            width: 230px;
            height: 40px;
            background-color: #55585a;
            font-size: 14px;
            color: #fff;
            text-decoration: none;
            text-indent: 2em;
            /* 一个小技巧:单行文字垂直居中的代码,让文字的行高等于盒子的高度 */
            line-height: 40px;
        }

        /* 2、鼠标经过链接变换背景颜色 */
        a:hover {
            background-color: #ff6700;
        }
    </style>
</head>

<body>
    <!--
    说明:在实际开发中,为了避免链接堆叠,从而降低浏览器排名
    开发中一般都将这些链接放在无序列表中,这里只是为了方便演示才这样使用
	-->
    <a href="#">手机 电话卡</a>
    <a href="#">电视 盒子</a>
    <a href="#">笔记本 平板</a>
    <a href="#">出行 穿戴</a>
    <a href="#">智能 路由器</a>
    <a href="#">健康 儿童</a>
    <a href="#">耳机 音响</a>
</body>

</html>

8 小技巧:单行文字垂直居中

CSS 没有给我们提供文字垂直居中的代码,这里我们可以使用一个小技巧来实现。

解决方案:文字的行高 等于 盒子的高度 就可以让文字在当前盒子内垂直居中。

简单理解: 行高的上空隙和下空隙把文字挤到中间了,如果行高小于盒子高度,文字会偏上,如果行高大于盒子高度,则文字偏下。

9 一个注意点:块级元素不会自动换行

当块级元素的宽度超过其父元素宽度时,其不会发生换行。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
          name="viewport">
    <meta content="ie=edge" http-equiv="X-UA-Compatible">
    <title>块级元素不会自动换行</title>
    <style>
        .clearfix:before,
        .clearfix:after {
            content: "";
            display: table;
        }

        .clearfix:after {
            clear: both;
        }

        .clearfix {
            *zoom: 1;
        }

        div {
            background-color: #FFFF00;
            width: 600px;
            height: 300px;
            color: #FFFFFF;
            font-size: 24px;
        }

        .div {
            background-color: #000;
            width: 730px;
            height: 100px;
            margin: 20px 0;
        }

        span {
            background-color: #000;
            width: 700px;
            height: 100px;
            margin: 20px 0;
        }
    </style>
</head>
<body>
<div class="clearfix">
    <div class="div">块级元素 块级元素 块级元素 块级元素 块级元素 块级元素 块级元素 块级元素 块级元素 块级元素 块级元素 块级元素</div>
    <span>行内元素 行内元素 行内元素 行内元素 行内元素 行内元素 行内元素 行内元素</span>
</div>
</body>
</html>

最后

以上就是安静皮皮虾为你收集整理的CSS 的元素显示模式1 什么是元素显示模式2 块元素3 行内元素4 行内块元素5 元素显示模式总结6 元素显示模式转换7 简洁版小米侧边栏案例8 小技巧:单行文字垂直居中9 一个注意点:块级元素不会自动换行的全部内容,希望文章能够帮你解决CSS 的元素显示模式1 什么是元素显示模式2 块元素3 行内元素4 行内块元素5 元素显示模式总结6 元素显示模式转换7 简洁版小米侧边栏案例8 小技巧:单行文字垂直居中9 一个注意点:块级元素不会自动换行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部