首页 > 其他分享 >从 HTML 到 CSS:开启网页样式之旅(四)—— 长度单位与显示模式全解析

从 HTML 到 CSS:开启网页样式之旅(四)—— 长度单位与显示模式全解析

时间:2024-11-30 11:57:59浏览次数:9  
标签:行内 网页 元素 HTML CSS 设置 inline display block

从 HTML 到 CSS:开启网页样式之旅(四)—— 长度单位与显示模式全解析


前言

  • 在前面的博客中,我们探讨了 CSS 的三大特性以及诸多常用属性,这些知识为我们塑造网页的样式奠定了坚实的基础
  • 而今天,我们将踏入 CSS 长度单位与显示模式的奇妙世界,让网页的布局更加美观和合理

一、CSS 长度单位

  1. px

px 是最常见的长度单位,它代表像素

  • 例如,当我们设置一个元素的宽度为 200px,那么它在该设备的屏幕上就会占据 200 个像素的宽度
  1. em

em 是一个相对长度单位,它是相对于元素自身的 font-size(字体大小)的倍数

  • 例如,若设置元素的内边距为 0.5em,而该元素字体大小为 16px,则内边距实际为 8px(16 * 0.5)
  1. rem

rem 同样是相对长度单位,不过它是相对于根元素(通常是标签)的字体大小来计算的

  • 比如根元素字体大小设置为 16px,那么 1rem 就始终等于 16px,无论在哪个元素内部使用 rem 设置属性,都是基于这个根元素的字体大小进行计算
  1. %(百分比)

百分比作为长度单位时,是相对父元素进行计算的。

  • 例如,若一个元素设置宽度为 50%,则它的宽度会是其父元素宽度的一半。

二、元素的显示模式

1.块元素(block)

又称块级元素,具有以下特点:

  • 1.在页面中独占一行
  • 不会与任何元素共用一行,是从上到下依次排列的。比如我们常见的<div>、<p>等元素,它们在页面呈现时会单独占据一行空间

  • 2.默认宽度
  • 会自动撑满父元素的宽度。这意味着如果父元素宽度为 800px,一个未设置宽度的块级元素将会扩展到 800px 的宽度

  • 3.默认高度
  • 如果块级元素内部没有设置高度且内容较少,它会根据内容的实际高度来呈现;若内容较多且超出了默认的可视范围,可能会出现滚动条或者内容溢出的情况,这取决于我们后续设置的相关样式。

  • 4.可以通过 CSS 方便地设置宽高
  • 我们可以根据具体的设计需求,使用相应的 CSS 属性为块级元素指定特定的宽度和高度值

2.行内元素(inline)

又称内联元素,其特点如下:

  • 1.在页面中不独占一行

一行中不能容纳下的行内元素,会在下一行继续从左到右排列。例如,<a>、<em>等行内元素,它们会在一行内依次排列,直到该行空间不足时才换行

  • 2.默认宽度
  • 行内元素本身不会有一个固定的默认宽度,而是根据其中的文本、图像等内容的实际宽度来确定自身的宽度

  • 3.默认高度
  • 其高度也是依据内部内容的实际高度来决定,比如一段文本的行高或者一张图片的高度等

  • 4.无法通过 CSS 直接设置宽高

3.行内块元素(inline-block)

又称内联块元素,具有以下特点:

  • 1.在页面中不独占一行
  • 一行中不能容纳下的行内元素,会在下一行继续从左到右排列

  • 2.默认宽度
  • 3.默认高度
  • 4.无法通过 CSS 直接设置宽高

4.总结各元素的显示模式

  • 为了更清晰地理解不同元素显示模式的特点和应用场景,我们对常见的几种元素显示模式进行如下总结:

块元素(block)

在这里插入图片描述

行内元素(inline)

在这里插入图片描述

行内块元素(inline-block)

在这里插入图片描述

三、修改元素的显示模式

  • 在 CSS 中,我们可以通过display属性来修改元素的默认显示模式

display属性有一些常用的值,每个值对应不同的显示效果,如下所示:

在这里插入图片描述

下面来详细降解一下各部分

1.none

  • 当我们将元素的display属性设置为none时,该元素会被隐藏
div {
    display: none;
}

举例说明一下

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Display None Example</title>
    <style>
       .hidden-element {
            display: none;
        }
    </style>
</head>

<body>
    <div class="visible-element">
        这个div元素是可见的。
    </div>
    <div class="hidden-element">
        这个div元素被设置了display: none,所以它是不可见的,并且不占据页面空间。
    </div>
    <div class="visible-element">
        另一个可见的div元素。
    </div>
</body>

</html>

在这里插入图片描述

2. block

  • 将元素的display属性设置为block时,该元素会被强制显示为块级元素的模式
a {
    display: block;
}

例如

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Display Block Example</title>
    <style>
        a {
            display: block;
            width: 200px;
            height: 50px;
            background-color: lightblue;
            text-align: center;
            line-height: 50px;
            text-decoration: none;
            color: black;
        }
    </style>
</head>

<body>
    <a href="#">
        原本这是一个行内元素(a标签),现在被设置为块级元素模式,它会独占一行,并且可以设置宽高以及其他样式,比如这里设置了背景色、文本对齐等样式。
    </a>
    <p>这是一个普通的段落元素,用于对比展示。</p>
</body>

</html>

在这里插入图片描述

3.inline

  • 当设置display属性为inline时,元素会被显示为行内元素的模式

原本可能是块级元素或者其他显示模式的元素,在设置此值后,会像行内元素一样在页面中不独占一行,并且其宽高会由内容决定

div {
    display: inline;
}

举例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Display Inline Example</title>
    <style>
        div {
            display: inline;
            background-color: lightgreen;
            padding: 10px;
        }
    </style>
</head>

<body>
    <div>
        这个div元素原本是块级元素,现在被设置为行内元素模式,它不会独占一行,宽高由内容决定,这里设置了背景色和内边距以便观察效果。
    </div>
    <div>
        另一个同样被设置为行内元素模式的div元素,两个div元素会在一行内排列(如果空间足够)。
    </div>
    <span>这是一个普通的span行内元素,用于对比展示。</span>
</body>

</html>

在这里插入图片描述

4. inline-block

  • 设置display属性为inline-block时,元素会被显示为行内块元素的模式

这样一来,元素既能像行内元素一样在一行内排列,又能像块级元素一样通过 CSS 设置其宽高。

img {
    display: inline-block;
}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Display Inline-Block Example</title>
    <style>
        img {
            display: inline-block;
            width: 100px;
            height: 100px;
            margin: 10px;
            border: 1px solid black;
        }
    </style>
</head>

<body>
    <img src="your_image_path.jpg" alt="示例图片">
    <img src="your_image_path.jpg" alt="示例图片">
    <span>这是一个普通的span行内元素,用于对比展示。</span>
</body>

</html>

在这里插入图片描述

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

标签:行内,网页,元素,HTML,CSS,设置,inline,display,block
From: https://blog.csdn.net/2402_83322742/article/details/144144493

相关文章

  • 如何使用CSS绘制一个汉堡式菜单
    使用CSS绘制汉堡式菜单图标,通常用三个水平线表示,可以通过以下几种方法实现:1.使用三个<div>元素:这是最直观的方法,使用三个div分别代表三条横线,然后通过CSS设置它们的样式。<divclass="hamburger-menu"><divclass="bar"></div><divclass="bar"></div>&......
  • 【Web】0基础学Web—html基本骨架、语义化标签、非语义化标签、列表、表格、表单
    0基础学Web—html基本骨架、语义化标签、非语义化标签、列表、表格、表单html基本骨架语义化标签图片属性a链接非语义化标签特殊符号标签列表无序列表结果展示有序列表结果展示定义列表结果展示表格table属性tr属性结果展示表单单标签form属性input属性selecttex......
  • 【Web】0基础学Web—css引入方式、基本选择器、层级选择器、字体样式、图片vertical、
    0基础学Web—css引入方式、基本选择器、层级选择器、字体样式、图片vertical、标签分类、高级选择器css引入方式1.行内式2.内嵌式3.链入式基本选择器初始body块通用选择器标签选择器类选择器与并集选择器id选择器结果展示层次选择器结构伪类选择器body初始代码选择......
  • 如何能防止网页禁止被iframe嵌入呢?
    很遗憾,你无法直接阻止其他网站通过iframe嵌入你的网页。X-Frame-Options头信息曾经是主要的防御手段,但现在已弃用,并且许多现代浏览器已不再支持它。目前,没有万无一失的方法完全阻止iframe嵌入。你可以采取一些措施来增加嵌入的难度或降低其有效性,但决心绕过这些措施的人仍然可......
  • 解释下css3的flexbox(弹性盒布局模型),以及它应用场景有哪些?
    CSS3的Flexbox,即弹性盒布局模型,是一种用于页面布局的强大工具。它提供了一种更有效的方式来排列、对齐和分配容器内项目的空间,即使它们的大小是未知的或动态的。Flexbox解决了传统布局方法(如浮动和定位)在处理复杂布局时的许多限制。核心概念:Flexbox布局由两个主要组成部分......
  • 用什么代替html5中不再支持table的cellspacing和cellpadding属性?
    在HTML5中,cellspacing和cellpadding属性确实不再被支持。要用CSS来实现相同的效果,主要依靠border-spacing和padding属性。1.cellspacing的替代方案:border-spacingcellspacing控制表格单元格之间的间距。在CSS中,可以使用border-spacing属性应用于<table>元素......
  • HTML5图像相关的标签有哪些?
    HTML5中与图像相关的标签主要有以下几个:<img>(Image):这是最常用的图像标签,用于在网页上嵌入图像。它是一个自关闭标签,意味着它不需要结束标签</img>。<picture>(Picture):<picture>元素允许你定义多个图像源,浏览器会根据不同的设备特性(例如屏幕分辨率、像素密度等)......
  • css中兼容ie浏览器的前缀是什么?
    CSS中兼容IE浏览器的前缀主要有:-ms-:这是IE浏览器专用的前缀,用于支持IE浏览器特有的CSS属性或属性值。例如:-ms-transform,-ms-filter。-o-:这是Opera浏览器较旧版本使用的前缀,现在Opera基于Chromium内核,所以这个前缀已经很少使用了。例如:-o-transform。-webkit-:这是......
  • html的标签`<a>`除了用作跳转链接外,还有哪些用途?
    <a>标签除了用于创建超链接跳转到其他页面或资源外,还有以下几种用途:锚点链接(页面内跳转):可以使用href属性指向页面内的特定位置。通过设置id属性为目标元素,然后在<a>标签的href属性中使用#加上id值,即可实现点击链接跳转到页面同一位置的不同部分。<ahref="#sec......
  • 基于Java+SSM+HTML5汽车租赁系统(源码+LW+调试文档+讲解等)/汽车租赁/租赁系统/汽车出
    博主介绍......