首页 > 其他分享 >CSS 基础 - 结构

CSS 基础 - 结构

时间:2022-08-30 17:26:46浏览次数:91  
标签:flex 定义 容器 样式 基础 网格 对齐 CSS 结构

CSS 基础 - 结构

记得我在我的文章中提到的 HTML 基础 - 结构 最高级的结构将由 CSS 处理的文章?嗯,就是这样。

Photo by 设计公司 on 不飞溅

正如我之前提到的,HTML 的 'table' 元素是仅在 HTML 中获得一致的垂直和水平结构的唯一方法,但它非常有限。就像表格有行和列一样,CSS 让我们能够使用自己的行和列来设置元素的样式。输入 Grid 和 Flexbox。

网格

网格的行为类似于 HTML 的“表格”,但具有更高级的功能。它可用于合并“单元格”(我将指的是网格元素,就像它们是未来表格的一部分,仅供参考)、定义大小、处理响应式用例等等。

关于网格,首先要记住的也是最重要的一点是,因为它是一个 CSS 命令,所以它必须应用于 HTML 元素。这不会神奇地发生,所以请参阅我的文章,了解 CSS 的工作原理以及跳过样式后如何声明样式。

我们首先通过应用'display:grid;'来定义网格样式到我们的“网格容器”。容器当然可以随心所欲地命名,但它始终是我们的容器,而里面的元素始终是我们的“网格项”。它应该看起来像这样:

.grid-container {

显示:网格;

}

这个简单的声明告诉浏览器将容器内的所有元素格式化为具有默认样式的网格形式。从这里我们可以定义我们的容器应该是什么样子,字体大小和样式等,但最重要的是,我们可以通过定义有多少列和行来指定总网格的大小。

我们通过声明样式“grid-template-columns”和“grid-template-rows”来做到这一点。您在此声明之后放置的每个单独的值都将代表一列/行及其大小(分别为宽度或高度)。以下 -

网格模板列:80px 100px 20px;

将表示一个具有三列的网格,它们各自的宽度从左到右排列。当然,同样的过程也适用于行。

一旦网格容器有了合适的样式,我们就应该定义网格项样式。与我们的容器一样,这些项目的定义类名可以是任何东西。样式可以像应用到任何 div 或其他 HTML 元素一样应用,以更改背景颜色、字体大小或颜色等。

我们通过设置网格项本身的样式来定义网格中元素的大小。通过使用样式声明“grid-column”或“grid-row”,我们可以定义项目的开始和结束位置。例如 -

.grid-item {

网格列:1 / 3;

}

将导致我们的网格项跨越前两列的宽度。这可能会令人困惑,因为从表面上看,我们似乎在告诉网格项在第 3 列结束,所以请记住,这里等式的“列结束”或“行结束”一半是指我们的列或行 停止之前。

这需要很多时间来适应,所以需要一些时间来练习并感受它们。

网格还可以使用“间隙”样式定义元素之间的间隙大小。这适用于行和列之间的间隙,尽管我们可以分别使用 'row-gap' 和 'column-gap' 指定行或列。

弹性盒

Flexbox 的工作原理很像网格,但它是一维的,与网格的两轴方法不同。这种差异在很大程度上暴露了两者的不同用例——如果你有一堆想要在两个方向上构建的元素,请使用网格,否则使用 flexbox 运行你的单向列表。

像这样定义一个弹性容器 -

.flex 容器 {

显示:弯曲;

}

您应该立即注意到里面的元素,现在是“弹性项目”,以水平方式很好地对齐。这是 flexbox 的默认一维布局,但使用 'flex-direction' 样式,您可以在水平和垂直之间改变方向。

我们还可以定义当屏幕/外部容器大小变得过于严格时,flexbox 应该如何操作。 'flex-wrap' 属性定义了 flexbox 中的项目在收缩时是否应该换行。

'flex-flow' 是 'flex-direction' 和 'flex-wrap' 的简写。

弹性物品也有自己独特的风格——

通过设置 'order' 属性的值,可以给弹性项目在弹性盒的层次结构中的特定位置。

“flex”属性是三个重要的大小确定属性的简写——“flex-basis”、“flex-grow”和“flex-shrink”。他们分别定义了他们定义的项目的起始大小、比较增长率和比较收缩率。

最后,我们有'align-self'。这会覆盖“align-items”所做的任何对齐,以便在需要时单独为自身提供特定的“align-items”样式对齐。 “self”的值与“items”相同。

响应式

Flexbox 非常擅长简化响应式格式化。使用媒体查询(稍后将详细介绍响应式设计),我们可以根据需要更改 flex 项目的 flex 方向或 flex-basis,根据屏幕大小进行更改。查看示例 这里 .

共享样式

Grid 和 Flexbox 的共同目标是以一种比原生 HTML 所提供的更好、更用户友好的方式来构建 HTML。因此,两者之间共享某些样式。

结盟

最重要和最常用的是对齐样式。其中包括“justify-content”、“align-items”和“align-content”。这些定义了容器样式中内容的默认对齐方式。

' 证明内容 ' 在其容器内水平对齐内容。

' 对齐项目 ' 垂直对齐内容。

' 对齐内容 ' 改变了 'flex-wrap' 的定义方式。它的工作原理与“对齐项目”相同,但对齐 弯曲线 而不是物品本身。那么它必须有不止一条线才能做任何事情。

上述三个的值几乎都相同,唯一的区别在于函数本身。 flex-start、center、space-evenly 等都在三者之间共享。我在每个属性名称中添加了链接到每个可以使用的所有值的示例。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/1772/09573017

标签:flex,定义,容器,样式,基础,网格,对齐,CSS,结构
From: https://www.cnblogs.com/amboke/p/16640083.html

相关文章

  • Java基础~Java Instant类 & 日期相关
    _____________________________________________________________________________________________________________________________ 日期时间(DemoDateDemo.java)1.......
  • 如何使用CSS伪类选择器
    总览CSS选择器允许你通过类型、属性、位于HTML文档中的位置来选择元素。本教程阐述了三个新选项:is()、:where()和:has()。选择器通常在样式表中使用。下面的示例会找......
  • 变长结构体中char data[0]的用法
    一、用法typedefstruct{intlength;chardata[0];}Header;在结构中,data是一个数组名,但该数组没有元素,该数组的真实地址紧随结构体Header之后,而这个地址就......
  • 零基础玩转Python Flask框架-学完可就业 笔记
    P5.1.Flask使用app.config来进行对象配置app.config['SECRET_KEY']="xxx"2.可以把配置项目放到单独一个文件里面通过,app.config.from_object()来加载setting.pySEC......
  • 深度学习基础课: “判断性别”Demo需求分析和初步设计(下1)
    大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序线上课程资料:本节课录像回放加QQ群,获得......
  • Python基础语法知识
    3、python基础语法知识3.1变量1.什么是变量?可以变化的量2.为什么要有变量?程序去执行一种状态,并且是可以变化的1.变量的使用原则:先定义,后使用name='hello'#定义pr......
  • Python基础
    Python1、基础知识1.1编程语言什么是语言?为什么要有编程语言?什么是编程?为什么要编程?编程语言的本质就是一门语言,是人与计算机沟通的一种介质。人与人之间......
  • Day02__Dos基础命令
    常用的Dos命令#盘符切换 D:#查看当前目录下的所有文件 dir#切换目录 cdD: cd/dD:(跨盘时) cd.. (返回上一级) cd+(地址名)(切换目录)#清理......
  • css——复选框汉字不对齐
    1.复选框汉字不对齐<inputtype="checkbox"v-model="isAll"/><span>全选</span>2.input、span加上vertical-align:middle;属性input{vertical-alig......
  • 结构体柔性数组
    结构体柔性数组(flexiblearray),C99中,结构体最后一个元素允许是未知大小的数组,这个结构体必须至少有两个成员,这个数组元素必须是最后一个,这种数组叫做[【柔性数组】成员以......