css字符间距-CSS 宽度如何工作

2023-08-26 0 4,239 百度已收录

在本教程中,我们将讨论 CSS 间距中的宽度 - 听起来很简单,对吧? 嗯,它并不像您想象的那么基本。

例如,当您访问您最喜欢的电子商务网站寻找产品时。 欢迎您来到该平台的第一件事就是直观的设计和清晰的产品展示。 这为您提供了良好的浏览体验。

现在花点时间想象一下,如果所有分隔产品、描述、评论和其他相关项目的空间都被删除,您最喜欢的电子商务网站会是什么样子。 相信我,迟早您会找到一个新的最喜欢的电子商务网站。

如果浏览一个网站看起来很麻烦,人们就会去其他地方。 如果不同产品、重要文本和图像之间没有清晰的视觉区别,几乎不可能有效地浏览网站。

在本文中,我将教您如何更好地创建一个易于访问且具有视觉吸引力的网站。 我将介绍您需要了解的有关 CSS 宽度以及如何有效实现它的所有内容。 话不多说,让我们开始吧。

(更多优质内容:java567点c0m)

什么是 CSS 间距?

CSS 间距是一项重要功能,可帮助您以整洁且合乎逻辑的方式排列和组织 Web 应用程序的所有其他元素。 这有助于提高网络可访问性并创造更好的用户体验。

更深入地说,CSS 间距是指如何在网页上的 CSS 元素内部和之间插入空间。 它在网页设计中起着极其重要的作用,用于提高网页的可读性、可用性和整体美观性。

间距由多个组件组成,包括内边距、边距和边框。 其中每一个都有助于元素之间的空间关系。

该图显示了适当间隔的元素和挤在一起的元素之间的差异。

在上图中,根据我给出的 CSS 间距定义,您可以区分带 CSS 间距的示例和不带宽度的示例。 您可能还会发现这两个图像中哪一个的结构更好、更美观且更具可读性。

由此可见 CSS 间距有多么重要。 话虽这么说,让我们更深入地讨论一下 CSS 间距的重要性。

CSS 间距的重要性

我们已经听说过 CSS 间距的一些好处及其重要性css字符间距,但以下是您在创建网页时仍应考虑 CSS 间距的主要原因:

增强可读性:通过深思熟虑的CSS Spacing,可以清楚地区分网页的各个元素和部分,从而提高可读性。 您可以通过调整行间距、填充和许多其他 CSS 属性来确保所有内容的宽度正确。

提高用户参与度和导航:通过适当的 CSS 间距,您可以避免混乱的网页,从而阻止用户与您的 Web 内容互动。 它还引导网页上的信息流,让用户知道他们的注意力应该集中在哪里。

促进响应式设计:凭借良好的 CSS 间距,您可以考虑响应式设计中的微小变化。 例如,通过适当的填充,您可以确保页面元素不会在不同设备上重叠。

强调重要元素:您可以使用 CSS 间距来突出显示网页上的关键信息。 通过拥有比常规空间多一点的空间,用户的注意力将简单地被吸引到各个元素上。

添加专业美感:在极简设计中,间距非常重要。 它使您的网页更加庄重和精致,只关注页面上的重要信息。

CSS 间距的类型

当谈到 CSS 中的宽度类型时,有许多与之相关的属性。 它们包括、边距、填充和边框。 但一般来说,主要有两种宽度类型:

内宽

外宽

为了完全理解这些类型的宽度,让我们考虑这个例子:

 
 <html>
   <head>
     <style>
       .box {
         padding: 2rem;
         border: 2px solid black;
      }
 
       #box1 {
         margin-bottom: 2rem;
      }
 
       #box2 {
         background-color: #9b59b6;
         color: white;
         margin-left: 2rem;
      }
     </style>
   </head>
   <body>
     <div class="box" id="box1">Box 1</div>
     <div class="box" id="box2">Box 2</div>
   </body>
 </html>

根据前面的代码,我们有两个框表示内部和外部宽度。 正如你所看到的,我们添加了填充:2 rem。 这 2 雷姆减少了我们包的内部空间。

此外,为了将一个袋子与另一个袋子分开,我们在第一个袋子上添加了一个底部边缘。 这会导致您在右侧图像中的第一个框下方听到外部空间。 我们还降低了 2rem 第二个包右侧的一些外部空间。

如果您注意到,内部宽度会减小元素的大小,而外部宽度会调整或修改父元素或周围元素的位置。

根据上述代码绘制内部空间与外部空间的图。

CSS 内间距和外间距的区别

内部空间一般用padding创建,外部空间一般用margin创建。 以下是两种宽度类型之间的一些差异:

内边距(内宽度) 边距(外宽度)

目的

在元素的边界内、内容和边界之间创建空间。

在元素边界之外、元素与其他周围元素之间创建空间。

对规格的影响

增加元素的总长度/高度。

不会减小元素本身的大小。 它影响元素周围的空间。

与边境的互动

在元素的范围内。 如果定义了边框,则填充将从边框的内边缘延伸。

超出元素的边界。 如果定义了边框,则行距从边框的外边缘开始。

背景

扩展元素的背景颜色/图像。

元素的背景颜色/图像未膨胀; 它总是透明的。

用法

提高内容和边框之间的可读性和视觉分离。

控制元素相对于其他元素的位置和放置,并在元素之间创建空间。

CSS 盒子模型

要完全理解 CSS 间距,您必须了解 CSS 盒模型。 这就是CSS中显示元素布局的基本概念。 每个元素都遵循包模型,因此您必须了解它是如何工作的。

盒模型由四部分组成,它们包括:

内容

填充

边界

利润

内容是包模型的核心,它是元素的文本、图像等所在的地方。

填充是内容周围的内部空间。 它用于提供内容和边框之间的宽度。 它还降低了元素背景的维度。

边界是连接内部空间和外部空间的桥梁。 它围绕着内边距,内边距的形状、大小和颜色由 border 属性控制。 border 属性的主要目的是在元素周围创建边框。 它还为元素增添了美感。

边距是外部空间,其主要目的是在不同元素之间创建空间。 这用于提高可读性和视觉组织。

要估计元素的总大小,您需要考虑所有这些组件。 对盒模型的深入理解还可以让您控制页面上元素的 CSS 间距和对齐方式。

让我们考虑这段代码来说明包模型的工作原理:

 
 <html>
   <head>
     <style>
       body {
         display: flex;
         justify-content: center;
         align-items: center;
         height: 100vh;
         background-color: #f2f2f2;
         font-family: Arial, sans-serif;
         color: #333;
      }
 
       .box {
         /* Content */
         width: 100px;
         height: 100px;
         display: flex;
         align-items: center;
         justify-content: center;
 
         /* Padding */
         padding: 20px;
 
         /* Border */
         border: 10px solid #3498db;
 
         /* Margin */
         margin: 30px;
 
         background-color: #b65975;
         color: white;
      }
     </style>
   </head>
   <body>
     <div class="box">Box Model</div>
   </body>
 </html>

看起来像是不言自明的代码,对吧? 正如您所看到的,我们尝试使用尽可能多的包模型组件。

我们首先定义内容组件的规格,将其长度和高度设置为 100 像素。 使用 Flexbox 布局模型,我们将内容对齐到中心。

接下来,我们添加 20px 的内边距。 这减少了内部宽度,从而降低了包的规格并允许更大的背景。

您可以看到填充周围有黑色边框。 它将内部宽度与外部宽度分开。 它使用 border 属性设置,大小为 10px。

css字符间距-CSS 宽度如何工作

最后,我们将行距设置为30px。 它负责创建将元素彼此分开的外部宽度。

这是我们的结果:

CSS 盒模型图

正如您在上图中看到的,我们拥有盒模型的所有元素。 情况可能并非总是如此,因为大多数这些组件都可以自动分配值,或者完全删除。

其他 CSS 布局模型中的 CSS 间距

设计网站时还可以使用其他几种布局模型。 请记住,CSS 间距在其他模型中的工作方式略有不同。

首先,我们来看看广泛使用的其他主要布局模型css字符间距,以及使用它们时 CSS 间距如何工作。 他们包括:

CSS 弹性盒

CSS 网格

CSS 弹性盒

详细解释 CSS Flexbox 如何工作超出了本文的范围 - 但如果您想了解更多信息,可以阅读文档。 您还可以在 freeCodeCamp 的 YouTube 频道上查看此速成课程。

我们这里的主要关注点是财产缺口。 您可以将此属性与 CSS Flexbox 和 CSS Grid 结合使用。 在 CSS Flexbox 中,您可以使用它在每个 Flex 项目之间创建空间,从而允许您控制项目之间的空间。

我们以这段代码为例:

 
 <html>
   <head>
     <style>
       .container {
         display: flex;
         gap: 20px;
      }
 
       .item {
         background-color: lightblue;
         padding: 10px;
      }
     </style>
   </head>
   <body>
     <div class="container">
       <div class="item">Item 1</div>
       <div class="item">Item 2</div>
       <div class="item">Item 3</div>
     </div>
   </body>
 </html>

在前面的代码中,我们有三个弹性项目。 我们设置了一个间隙属性,在每个子项之间放置 20px 的空间。 20像素

显示弹性项目之间差异的插图

您还可以使用 CSS Flexbox 模型中的各种其他 CSS 属性来设置 CSS 间距。 他们包括:

Justify-content:控制沿主轴的宽度。 间距的类型由该属性上设置的值决定,例如 flex-start、flex-end、center、space- Between、space-around 和 space-evenly。

justify-content:这有点类似于 justify-content 属性,但它控制沿水平轴的宽度。 以下是我们可以在Align-content属性上使用的一些值:flex-start、flex-end、center、space- Between、space-around、space-evenly和stretch。

flex-basis:用于确定 Flex 项目的初始大小,它允许您创建相同大小的 Flex 项目。

下面的图片显示了其中一些属性以及它们的值如何工作:

显示 justify-content、align-content 和 flex-basis 属性的插图

css字符间距-CSS 宽度如何工作

CSS 网格

Grid 模型中的宽度与 Flexbox 模型没有太大区别。 让我们探索一些控制 CSS 网格宽度的属性。

grid-gap:此属性与gap属性的作用相同,即间隔CSS网格的行和列。 您还可以使用间隙属性来执行此功能,因为这是一个较新的技巧。

grid-row-gap 和 grid-column-gap:有时您不希望行和列之间有统一的间隙。 相反,您可以使用此属性单独定义网格行和列之间的间隙大小。

为了说明这一点,请考虑以下代码:

 .container {
       display: grid;
       grid-template-columns: 1fr 1fr 1fr;
       grid-column-gap: 50px;
       grid-row-gap: 20px;
       background: #6c1697;
    }

这里我们将显示属性设置为网格。 然后使用 grid-template-columns 将网格设置为具有三个相同大小的列: 1fr 1fr 1fr 。

然后,我们使用 grid-column-gap 属性在列之间创建 50px 的间隙,而 grid-row-gap 在行之间创建 20px 的间隙。

这是我们从六个网格项中得到的结果:

显示 grid-row-gap 和 grid-colum-gap 属性的插图

文字宽度

当我们讨论袋子模型时,我们将文本分类为袋子模型内容组件的一部分。 那么,您可以在文本上使用几个属性来根据您的特定需求添加宽度。 其中一些属性包括:

字母宽度:此属性用于在文本中的每个字符之间创建空间。

word-spacing:此属性用于在文本中的每个单词组之间创建空间。

line-height:此属性用于创建文本行之间的垂直宽度。

text-align:该属性用于控制文本的水平放置方式。 默认值为 left,最常用的值为 center。

text-indent:此属性用于缩进块元素的第一行,这只是在文本的开头创建一个空格。

空白:该属性定义元素中文本的显示方式。 此属性的默认值是正常的,但当设置为不换行时,文本只是水平流动,而不换行以开始新行。

下面的一些代码显示了每个属性的工作原理:

 
 <html>
   <head>
     <style>
       .text {
         background-color: lightblue;
      }
       p {
         font-size: 18px;
         margin-bottom: 20px;
      }
 
       .letter-spacing-example {
         letter-spacing: 5px;
      }
 
       .word-spacing-example {
         word-spacing: 20px;
      }
 
       .line-height-example {
         line-height: 10rem;
      }
       .text-align-example {
         text-align: center;
      }
 
       .text-indent-example {
         text-indent: 50px;
      }
 
       .white-space-example {
         white-space: nowrap;
      }
     </style>
   </head>
   <body>
     <div class="text">
       <p class="letter-spacing-example">
        This is an example of letter-spacing property. It adds space between
        each character.
       </p>
     </div>
     <div class="text">
       <p class="word-spacing-example">
        This is an example of word-spacing property. It adds space between each
        word.
       </p>
     </div>
     <div class="text">
       <p class="line-height-example">
        This is an example of line-height property. It creates vertical spacing
        between lines of text.
       </p>
     </div>
     <div class="text">
       <p class="text-align-example">
        This is an example of text-align property. It controls the horizontal
        alignment of text within an element.
       </p>
     </div>
     <div class="text">
       <p class="text-indent-example">
        This is an example of text-indent property. It indents the first line of
        the block element.
       </p>
     </div>
     <div class="text">
       <p class="white-space-example">
        This is an example of white-space property. It prevents the wrapping of text
        and causes it to overflow horizontally. Lorem ipsum dolor sit amet,
        consectetur adipisicing elit. Accusamus dolorem provident pariatur
        recusandae nulla numquam?
       </p>
     </div>
   </body>
 </html>

在前面的代码中,我们创建了多个带有文本类的 div,每个 div 都有一个 ap 标签,其中带有描述文本属性的类名。

第一个p标签用于描述属性letter-spacing,我们将每个字母之间的间距设置为5px。

css字符间距-CSS 宽度如何工作

接下来,我们有这个 word-spacing 属性,通过这个属性,我们在每个单词之间给出 20px 的空间。

这里的属性 line-height 给 p 标签一个 10rem 的垂直间隙。

对于将 text-align 属性值设置为 center 的 p 标签,我们在文本的左侧和右侧具有相等的空间。

我们展示的另一个属性是文本缩进属性。 我们将其值设置为 50px,这样可以很好地缩进文本,并且 50px 在第一行文本的开头留下一个空格。

最后但并非最不重要的一点是,我们将最后一个 p 标记设置为具有 no-wrap 的空白属性值,”这会强制文本沿水平行流动,而不换行到下一行。

以下是此代码出现在浏览器中时生成的屏幕截图:

文本宽度属性的实际示例

用例:如何创建初步审核表

我们已经讨论了很多有关 CSS 间距的细节。 现在总结一下,让我们设置一个简单的评论表单,以便您可以了解 CSS 间距的工作原理。

 
 <html>
   <head>
     <style>
      * {
         margin: 0;
         padding: 0;
         box-sizing: border-box;
         font-family: Arial, sans-serif;
      }
       body {
         background-color: #f6f6f6;
      }
       .feedback-container {
         width: 400px;
         margin: auto;
         padding: 20px;
         border-radius: 8px;
         background-color: #ffffff;
         box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
         margin-top: 50px;
      }
       .feedback-title {
         text-align: center;
         margin-bottom: 20px;
         color: #333333;
         letter-spacing: 2.3px;
         font-size: 24px;
      }
       .feedback-description {
         text-align: center;
         margin-bottom: 20px;
         color: #666666;
         line-height: 1.6;
      }
       .feedback-input {
         width: 100%;
         padding: 15px;
         margin-bottom: 20px;
         border: 1px solid #dddddd;
         border-radius: 4px;
      }
       .feedback-button {
         width: 100%;
         padding: 15px;
         background-color: #4caf50;
         color: white;
         border: none;
         cursor: pointer;
         border-radius: 4px;
         font-size: 18px;
         font-weight: bold;
      }
       .feedback-button:hover {
         background-color: #45a049;
      }
     </style>
   </head>
   <body>
     <div class="feedback-container">
       <h2 class="feedback-title">REVIEW FORM</h2>
       <p class="feedback-description">
        We value your feedback! Your comments help us to understand your needs
        better and improve our services. Please take a few moments to share your
        thoughts.
       </p>
       <form>
         <input
           type="text"
           class="feedback-input"
           placeholder="Your Name"
           name="name"
           required
         />
         <input
           type="email"
           class="feedback-input"
           placeholder="Your Email"
           name="email"
           required
         />
         <textarea
           class="feedback-input"
           placeholder="Your Feedback"
           name="feedback"
           required
         ></textarea>
         <button type="submit" class="feedback-button">Submit</button>
       </form>
     </div>
   </body>
 </html>

上面的代码显示了我们的评论表单。 我们有 h2 保存表头。 接下来,我们在标签中描述 p。 最后但并非最不重要的一点是,我们有了表单,其中包含输入数组和提交按钮。

在前面的代码中,我们添加了 CSS 间距。 您可以看到我们之前讨论过的一些其他属性,例如边距、填充、行高和字母间距以及我们给它们的值。

如果我们运行代码并在浏览器中查看它,我们会得到以下结果:

显示具有和不具有适当宽度的表格的图像

使用 CSS 间距,我们能够将 h2 居中并将 p 对齐到中心,并且我们能够通过输入数组中的填充使输入数组看起来美观。 通过应用行间距,我们能够将元素彼此分开,例如 h2、p 和表单提交按钮。

从上图中,你可以清楚地看出哪个版本更好。 CSS 间距使评论表单看起来更好、更容易理解。

综上所述

总之,CSS 间距是 Web 开发的一个基本方面,掌握这个概念对于每个后端开发人员都至关重要。

通过正确使用内边距、边距和我们讨论过的所有其他宽度属性,您可以创建既直观又舒适的设计,引导用户的眼睛顺利地从一个元素到另一个元素。

虽然 CSS 间距乍一看似乎是一个简单的概念,但需要一些练习才能轻松地在宽度属性之间进行选择并正确使用它们。

永远记住,良好的宽度可以为页面注入活力,使页面更具可读性、吸引力、优雅性和直观性。 快乐编码!

(更多优质内容:java567点c0m)

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css css字符间距-CSS 宽度如何工作 https://www.wkzy.net/game/155654.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务