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>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Property ‘unmount‘ does not exist on type ‘Window typeof globalThis‘

在 Vue3 Vite TS 的项目中&#xff0c;接入 MicroApp 微前端时&#xff0c;编辑器出现 TS2339: Property unmount does not exist on type Window & typeof globalThis. 的错误提示。 问题原因 在 window 上挂载了一个 unmount 方法&#xff0c;但是 TS 并不知道这个方法…

PyTorch: 基于VGG16处理MNIST数据集的图像分类任务

目录 引言在Conda虚拟环境下安装pytorch步骤一&#xff1a;利用代码自动下载mnist数据集步骤二&#xff1a;搭建基于VGG16的图像分类模型步骤三&#xff1a;训练模型步骤四&#xff1a;测试模型运行结果后续模型的优化和改进建议完整代码结束语 引言 在本博客中&#xff0c;小…

猎豹浏览器如何设置ip使用?socks5在网络安全中有什么优势?

猎豹浏览器如何设置ip使用&#xff1f;socks在网络安全中有什么优势&#xff1f; 一、猎豹浏览器如何设置ip使用&#xff1f; 在使用猎豹浏览器时&#xff0c;可以通过以下步骤来设置IP使用&#xff1a; 1. 打开猎豹浏览器&#xff0c;点击右上角的“菜单”按钮&#xff0c;在…

软文是如何连接品牌与用户的?媒介盒子为您解答

软文作为品牌向用户传递信息或价值传递的重要媒介&#xff0c;在品牌营销中的场景中发挥着重要作用。那么商家如何做&#xff0c;才能使软文成功连接品牌与用户呢&#xff1f;下面就让媒介盒子分享。 一、软文是什么 软文是一种带有目的的表达&#xff0c;软文目的大概分为四种…

c++ map

unordered_map #include <iostream> #include <string> #include <unordered_map>int main() {// 创建包含三个字符串的&#xff08;映射到字符串的&#xff09;unordered_mapstd::unordered_map<std::string, std::string> u {{"red", &qu…

C语言普里姆(Prim)算法实现计算国家建设高铁运输网最低造价的建设方案

背景&#xff1a; 描述&#xff1a;为促进全球更好互联互通&#xff0c;亚投行拟在一带一路沿线国家建设高铁运输网&#xff0c;请查阅相关资料 画出沿线国家首都或某些代表性城市的连通图&#xff0c;为其设计长度最短或造价最低的高铁建设方案。 要求&#xff1a;抽象出的图…

智能优化算法应用:基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸡群算法4.实验参数设定5.算法结果6.参考文献7.MA…

kubernetes(k8s) Yaml 文件详解

YAML格式&#xff1a;用于配置和管理&#xff0c;YAML是一种简洁的非标记性语言&#xff0c;内容格式人性化&#xff0c;较易读。 1、查看API 资源版本标签 kubectl api-versions 2、编写资源配置清单 kubectl create -f nginx-test.yaml --validatefalse 2.3 查看创建的po…

讲解充电桩测试项目

充电桩测试项目是为了保证充电桩的质量和安全性&#xff0c;对充电桩进行全面、系统的检测和评估。功能测试是充电桩测试的基础&#xff0c;主要检查充电桩的各项功能是否正常。包括充电接口连接测试、充电过程控制测试、充电状态显示测试等。通过功能测试&#xff0c;可以确保…

python自动化测试实战 —— WebDriver API的使用

软件测试专栏 感兴趣可看&#xff1a;软件测试专栏 自动化测试学习部分源码 python自动化测试相关知识&#xff1a; 【如何学习Python自动化测试】—— 自动化测试环境搭建 【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更…

JIT即时编译器深度解析——Java性能提升利器

文章目录 一、JIT概述1、为什么要用JIT即时编译器2、C1、C2与Graal编译器3、分层编译4、热点代码5、热点探测&#xff08;1&#xff09;方法调用计数器&#xff08;2&#xff09;回边计数器 二、编译优化技术1、方法内联&#xff08;1&#xff09;什么是方法内联&#xff08;2&…

如何充分准备面试,迅速融入团队并在工作中取得卓越成就

首先&#xff0c;关于如何筹备面试&#xff0c;首先需要对所申请公司与职位进行深入的调查了解&#xff0c;并依据可能提出的面试问题预先准备相应的答案&#xff0c;并提前调试面试所需的仪器设备。同时&#xff0c;也要注重自身形象的塑造。更为关键的是 1. 在计算机领域的面…