css的元素显示模式(有单行文字垂直居中,侧边栏等案例)

目录

1. 什么是元素的显示模式

2. 元素显示模式的类型

块元素

行内元素

行内块元素

3. 元素显示模式的转换

4.文字垂直居中

5.具体实现案例


1. 什么是元素的显示模式

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

2. 元素显示模式的类型

HTML 元素一般分为块元素、行内元素、行内块元素,所以元素的显示模式一种有三种。

  • 块元素

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

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

注意:
 文字类的元素内不能使用块级元素
 <p> 标签主要用于存放文字,因此 <p> 里面不能放块级元素,特别是不能放<div>
 同理, <h1>~<h6>等都是文字类块级标签,里面也不能放其他块级元素

  • 行内元素

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

行内元素的特点:
① 相邻行内元素在一行上,一行可以显示多个。
② 高、宽直接设置是无效的。
③ 默认宽度就是它本身内容的宽度。
④ 行内元素只能容纳文本或其他行内元素。

注意:
 链接里面不能再放链接
 特殊情况链接 <a> 里面可以放块级元素,但是给 <a> 转换一下块级模式最安全

  • 行内块元素

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

行内块元素的特点:
① 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。
② 默认宽度就是它本身内容的宽度(行内元素特点)。
③ 高度,行高、外边距以及内边距都可以控制(块级元素特点)。

总结:

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

注意总结:

 文字类的元素内不能使用块级元素
 <p> 标签主要用于存放文字,因此 <p> 里面不能放块级元素,特别是不能放<div>
 同理, <h1>~<h6>等都是文字类块级标签,里面也不能放其他块级元素
 链接里面不能再放链接
 特殊情况链接 <a> 里面可以放块级元素,但是给 <a> 转换一下块级模式最安全

3. 元素显示模式的转换

为什么需要转换模式?

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

转换方式
 转换为块元素:display:block;
 转换为行内元素:display:inline;
 转换为行内块:display: inline-block;

4.文字垂直居中

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


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

原理

5.具体实现案例

案例一:小米官网侧边栏

<!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: 230px;
            height: 40px;
            /* 背景颜色 */
            background-color: #55585a;
            /* 字体大小 */
            font-size: 14px;
            /* 字体颜色 */
            color: #ffffff;
            /* 去掉链接下划线 */
            text-decoration: none; 
            /* 缩进 */
            text-indent: 2em;
            /* 行高 */
            line-height: 40px;
          
            
        }

        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>

案例2:五彩导航

<!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>
        .nav a {
            /* 设置成块级行内元素 */
            display: inline-block;

            width: 120px;
            height: 58px;
            /* 去掉下划线 */
            text-decoration: none;
            color: #fff;
            /*  水平居中*/
            text-align: center;
            /* 单行垂直对齐 */
            line-height: 50px;
        }

        .nav .bg1 {
            background-image: url(images/bg1.png);
        }
        .nav .bg1:hover {
            background-image: url(images/bg11.png);
        }
        .nav .bg2 {
            background-image: url(images/bg2.png);
        }
        .nav .bg2:hover {
            background-image: url(images/bg3.jpg);
        }
        .nav .bg3 {
            background-image: url(images/bg3.jpg);
        }
        .nav .bg3:hover {
            background-image: url(images/bg22.png);
        }

        .nav .bg4 {
            background-image: url(images/bg4.png);
        }
        .nav .bg4:hover {
            background-image: url(images/bg1.png);
        }
        .nav .bg5 {
            background-image: url(images/bg5.png);
        }
        .nav .bg5:hover {
            background-image: url(images/bg3.png);
        }

    </style>

</head>

<body>

    <div class="nav"> 
        <a href="#" class="bg1">五彩导航</a>
        <a href="#" class="bg2">五彩导航</a>
        <a href="#" class="bg3">五彩导航</a>
        <a href="#" class="bg4">五彩导航</a>
        <a href="#" class="bg5">五彩导航</a>
    </div>
</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/254142.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot整合Redis——实现点赞功能

目录 点赞功能 设计思路 实现 正在思考和学习的问题 回顾redis中的set 使用方法 使用场景 回顾springboot整合redis 1.引入必要的依赖。 2.在配置文件application.properties/yml中 配置redis的连接信息 3. 测试 点赞功能 设计思路 点赞功能的两个接口&#xff1a; 1.点赞&…

Spring之容器:IOC(1)

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

自动封箱打包码垛缠绕流水线案例

广西交投在某地新建工厂后&#xff0c;需要建设一条生产隧道灯&#xff0c;后段自动封箱打包码垛缠绕包装线。 凯隆包装在深入了解客户需求后&#xff0c;结合客户实际生产情况&#xff0c;为客户量身定制了集智能感应系统、产品自动折盖上下封箱、捆扎两道打包带、码垛机械臂自…

Linux平台下HTTP协议使用指南与代码展示

在Linux平台下&#xff0c;HTTP协议的应用非常广泛&#xff0c;它被用于Web开发、网络爬虫、API调用等场景。了解并掌握HTTP协议&#xff0c;对于Linux系统的开发和使用都非常重要。下面&#xff0c;我们将为您介绍Linux平台下HTTP协议的使用指南&#xff0c;并通过代码展示来帮…

设计模式(3)--对象结构(4)--装饰

1. 意图 动态地给一个对象添加一些额外的功能。 2. 四种角色 抽象组件(Component)、具体组件(Concrete Component)、抽象装饰(Decorator)、具体装饰(Concrete Decorator) 3. 优点 3.1 比静态继承更灵活。 3.2 避免在层次结构高层的类有太多的特征。"即用即付"&…

【洛谷算法题】P1424-小鱼的航程(改进版)【入门2分支结构】Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P1424-小鱼的航程&#xff08;改进版&#xff09;【入门2分支结构】&#x1f30f…

程序员必备算法

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

60.Sentinel源码分析

Sentinel源码分析 1.Sentinel的基本概念 Sentinel实现限流、隔离、降级、熔断等功能&#xff0c;本质要做的就是两件事情&#xff1a; 统计数据&#xff1a;统计某个资源的访问数据&#xff08;QPS、RT等信息&#xff09; 规则判断&#xff1a;判断限流规则、隔离规则、降级规…

Linux下I2C调试工具--for--Zynq MPSOC/Jetson Xavier

Linux下I2C调试工具 1、简介 i2c-tools是一个专门调试i2c的工具&#xff0c;无需编写任何代码即可轻松调试IC设备&#xff0c;可获取挂载的设备及设备地址&#xff0c;还可以在对应的设备指定寄存器设置值或者获取值等功能。i2c-tools有如下几个常用测试命令i2cdetect, i2cdu…

【Go】基于GoFiber从零开始搭建一个GoWeb后台管理系统(四)用户管理、部门管理模块

第一篇&#xff1a;【Go】基于GoFiber从零开始搭建一个GoWeb后台管理系统&#xff08;一&#xff09;搭建项目 第二篇&#xff1a;【Go】基于GoFiber从零开始搭建一个GoWeb后台管理系统&#xff08;二&#xff09;日志输出中间件、校验token中间件、配置路由、基础工具函数。 …

新手运行若依项目|若依项目各部分介绍|并修改自己需要的页面

新手运行若依项目|若依项目各部分介绍|并修改自己需要的页面 文章目录 新手运行若依项目|若依项目各部分介绍|并修改自己需要的页面前言IEDA如何运行若依项目若依项目目录简介ruo-yi common工具类ruoyi-framework 框架核心其他部分ruo一admin后台服务通用配置 application.yml数…

STM32 TIM定时中断设计

单片机学习 目录 文章目录 一、定时器定时中断设计步骤 二、定时器配置 1.RCC开启时钟 2.选择时钟源 3.配置时基单元 4.配置输出中断控制 5.配置NVIC 6.运行控制 三、设计中断函数 总结 一、定时器定时中断设计步骤 定时中断基本框架结构图&#xff1a; 根据结构图可按步骤配置…

AWS RDS慢日志文件另存到ES并且每天发送邮件统计慢日志

1.背景&#xff1a;需要对aws rds慢日志文件归档到es&#xff0c;让开发能够随时查看。 2.需求&#xff1a;并且每天把最新的慢日志&#xff0c;过滤最慢的5条sql 发送给各个产品线的开发负责人。 3.准备&#xff1a; aws ak/sk &#xff0c;如果rds 在不同区域需要认证不同的…

【Linux】进程周边005之环境变量

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.环境变量是什么&#xff1…

工具化法则

《卓越成效的程序员》是若干程序员系列书籍我比较喜欢的一本&#xff0c;类似的还有《卓越程序员密码》等。《卓越成效的程序员》高明之处是不仅仅给出原则&#xff0c;还大谈工具和代码&#xff0c;这如同诸多鸡汤文在”布道”的层面之下实战干货&#xff0c;深得广大从业人员…

使用openMVS库,在VS2022中启用c++17标准编译仍然报错

使用openMVS库&#xff0c;在VS2022中启用c17标准编译仍然报错 现象 项目中引用了某些开源库&#xff08;例如openmvs2.1.0&#xff09;&#xff0c;编译时要求启用编译器对c17的支持。 没问题&#xff01;大家都知道在下图所示的位置调整C语言标准&#xff1a; 但是&#…

【Transformer】Transformer and BERT(1)

文章目录 TransformerBERT 太…完整了&#xff01;同济大佬唐宇迪博士终于把【Transformer】入门到精通全套课程分享出来了&#xff0c;最新前沿方向 学习笔记 Transformer 无法并行&#xff0c;层数比较少 词向量生成之后&#xff0c;不会变&#xff0c;没有结合语境信息的情…

动态加载库

no_mangle 不要改标识符 首先是认识这个标注&#xff1a;mangle&#xff0c;英文的含义“撕裂、碾压”。我第一次把这个单次误以为是manage&#xff0c;说实话两个单词还挺像的。 RUS中函数或静态变量使用#[no_mangle]这个标注属性后&#xff0c;编译器就不会修改它们的名字了…

机器学习 | KNN算法

一、KNN算法核心思想和原理 1.1、怎么想出来的&#xff1f; 近朱者赤&#xff0c;近墨者黑&#xff01; 距离决定一切、民主集中制 1.2、基本原理 —— 分类 k个最近的邻居 民主集中制投票分类表决与加权分类表决 1.3、基本原理 —— 回归 计算未知点的值决策规则不同均值法与…

windows10-EMQX与MQTTX的安装及配置使用教程

windows10-EMQX安装及配置使用教程 一、下载安装1.1 下载1.2 安装1.3 设置开机自启动 二、连接MQTT2.1 MQTT下载安装2.1.1 下载2.1.2 安装及配置 三、EMQX常用命令 本文介绍的是在windows10系统下的emqx的安装、配置及使用教程。 一、下载安装 1.1 下载 下载链接&#xff1a…