了解CSS3 FlexBox进行响应WordPress设计

VPS1352主机测评网(www.vps1352.com)
本文链接:https://www.vps1352.com/11720.html

哦,人,记住它在您网站上垂直中心内容的努力如何?如果你在最后一句话中挣扎着"曾经"的话,你显然尚未拿到Flexbox上.

CSS最初旨在处理我们在网上看到的复杂模板样式,迫使开发人员提出CSS黑客来获取内容.

Flexbox或Flexible Box,是CSS3中的一个相对较新的布局模块,旨在改善容器中的项目对齐,方向和顺序,即使它是动态或未知尺寸.这是最重要的特征是能够修改孩子的宽度或高度,以在不同的屏幕尺寸上以最佳方式填充可用空间.

在这篇文章中,我会走到Flexbox的工作原理以及如何将其添加到WordPress样式表中,因此您的网站是最新的CSS标准.

继续读取,或使用以下链接跳转:

  • 什么是flexbox?
  • 何时使用flexbox为您的布局
  • 集装箱,儿童和柔性
  • 用html5
  • 构建一个容器

  • 创建和打造您的Flexbox
  • 响应性的造型

什么是flexbox?

flexbox是为实际布局设计的第一个模块之一,并使CSS更轻松,并且在某些情况下,实际上是可能的.

模块旨在通过允许容器及其内容柔性来增强CSS盒模型.使用Flexbox,容器及其子节的任何方向可以排列:左,右侧,甚至向上或向上.您可以选择页面上的元素顺序并重新排序,请将内容与单个属性对齐,甚至将任意数量的列添加到您的页面上.大小也是灵活的,因为元素可以增长占用未使用的空间或缩小以防止溢出.

酷的事情是,即使Flexbox还没有正式CSS3,所有主要浏览器都支持它包括Android和iOS.

何时使用flexbox您的布局

我最近写了关于网格布局的关于,对CSS的类似改进也专为更好的布局设计.两者之间有一个微妙的差异,这使得一个适合创建完整布局,另一个不那么不那么多.

虽然Flexbox在技术上能够为主题创建完整的布局,但它不是为此目的而设计的.相反,更适合造型的单独容器,例如主要内容区域,侧边栏,标题和其他类似部分.Grids理想地用于创建整个布局.

差异在于FlexBox的方式本身与逐步加载的主要浏览器进行互动.显示的内容首先被水平拉伸以适合整个屏幕.随着更多的容器负载,全宽水平显示调节并收缩以包括周围元件.

作为Chrome Jake Archibald Notes在他的文章中的开发人员倡导者不使用FlexBox进行整体页面布局,最终用户看到的是从内容出现的布局突然跳转到实际尺寸,这可能是要小得多.虽然这只是互联网连接较慢的用户的关注,但它仍然对用户体验构成了问题.考虑到这一点,您无需选择两个使用网格,用于布局和FlexBox的布局内容.

容器,儿童和Flex

在开始编码第一个Flexbox之前,您需要先理解一些重要的概念.根据W3C的CSS灵活的最新工作草案:

  • flexbox -包含display属性后,容器成为Flexbox,并将其设置为flexinline-flex
  • flex项目 - Flexbox中的子元素
  • 主轴/主尺寸 - Flex容器的主轴是沿着该轴的主要轴线.它延伸到主维度
  • 横轴/交叉尺寸 -垂直于主轴的轴称为横轴.它延伸在十字维度
  • 主启动/主终端 -弹性物品放置在主开始侧的容器内,并朝向主端侧
  • 交叉启动/十字端 -柔性线填充有物品,并将其放入柔性容器的交叉侧开始的容器中并朝向十字端侧
  • 主尺寸/主尺寸属性- Flex Item的宽度或高度,以主尺寸为准,是物品的主要尺寸.Flex Item的主尺寸属性是宽度或高度属性,以置位为主尺寸.
  • 十字尺寸/十字尺寸属性 - Flex项目的宽度或高度,以交叉尺寸为准,是物品的交叉尺寸.交叉尺寸属性是交叉尺寸中的宽度或高度的任何一种.

The flexbox model, including all the properties used to describe the container and its children. flexbox模型,包括用于描述容器及其子项的所有属性.

在CSS中还有一些属性,没有对Flexbox的影响,因为它们不是实际阻塞容器:

  • column-*
  • float
  • clear
  • vertical-align
  • ::first-line::first-letter伪元素

构建带有HTML5

的容器

通过全能,您现在可以开始构建FlexBox.为此,您首先需要将一些HTML5添加到您选择的WordPress页面中,无论是标题, archive.php , Page.php 或任何文件最终被访问者看到前端看到.

根据您的需要为其创建div和可识别的ID,类似于下面的示例:

加载GIST 0B1D5F9C9B77B8C550B2DDB584ED5FDE

在该容器中,您可以添加任何您想要的内容.

我将在顶部建立一个自定义主页,在顶部有一个大面积,用于呼叫动作,在单独的列中下面的三个较小的部分,我将在其中放置提示以及它下面的另一部分以获取其他信息.

要完成此操作,我将在下面的代码添加到我的否则完成的 index.php 文件中,我还将添加上面包含的div i.

加载GIST D16F9557419A3BDE641C37C7603B7692

当您添加了您的主要div以及您希望包含的所有其他内容时,您将拥有您需要构建第一个FlexBox的基础.要完成此操作,您需要-正如您可能已经猜到的那样-一些CSS.

创建和打造FlexBox

要创建FlexBox,您需要为容器定义display属性.它应该类似于下面的例子:

加载GIST C5C793A19A772AFD322FE9668DFC2E7A

在块级别创建您的FlexBox.或者,如果您想在线应用样式,则会键入inline-flex而不是flex.

现在您可以自由地为您刚刚创建的新Flexbox下面的Flex项目添加样式.

虽然您刚刚制作了第一个FlexBox,但您还没有添加任何与Flexbox相关的属性,以确保您可以使用它.例如,您可以使用FlexBox来帮助保持内容响应,因此它在所有设备上都有很好的视图.

响应性的样式

您可以在FlexBox中包含许多属性,并帮助创建响应的页面,您可以订购Flex项目.

要按照选择的顺序放置您的Flex项目,您需要的只是order和速记flex属性.

虽然有许多属性可以用于调整您的内容,例如flex-basisflex-growflex-shrink属性,W3c建议您使用速记,这是单个属性的形式称为flex.

这是通过我创建的主页的这些属性在操作中看起来像的一个例子:

加载GIST 144B97D7FD7E738E5BCE735E735C4697

我知道,似乎很好,但这是什么意思,对吧?起初可能似乎有点难以追随,但一旦你掌握了它,它就太难了.

属性只需要告诉您的浏览器,以告诉您在其他人之前显示该项目.从一个开始,您可以选择首先显示哪个Flex项目.2order将显示Flex项目第二,order:3;将显示第三项等项目.

您也可以使用负数.如果您突然在编辑中突然意识到您需要在已订购的第一个在第一个已经订购的Flex项目中添加一个Flex项目,则可以将新的Flex项设置为order:-1;,因此它会在第一个Flex项之前显示.方便,不是吗?

速记flex属性是事情开始看起来有点复杂的地方.幸运的是,有一个相当简单的说明:这个属性设置了相对于Flexbox的总大小的灵活性尺寸.

本质上,您可以根据可用空间将Flex项的大小设置为比例.这意味着如果用户在移动设备上访问您的网站,则可以将内容设置为自动缩小以适合屏幕尺寸或在桌面浏览器的情况下,您的内容可以增长以适应窗口的整个大小.

并非所有的Flex项目都必须执行此操作,因为您可以禁用灵活的尺寸,以便需要保持一定尺寸的Flex项目.例如,您可能希望在所有屏幕上保持相同的广告,因为如果您在较小屏幕上为截断曝光的价格收取相同的价格,您的客户可能会感到沮丧.

那么你怎么能发生这种情况?以下是使用速度尺寸的速记flex属性的INS和OUT.

首先,它由他们的合格属性对应物的三个值组成:

  • flex-grow -设置if,您的Flex项目如何扩展以适合未占用的空间.它只能是一个正数.
  • flex-shrink -如果项目大于屏幕尺寸,则可以让您的Flex项目收缩.负数没有效果.
  • flex-basis -在应用任何灵活尺寸之前的Flex项目的初始尺寸,并且在有空间占用或缺乏空间之前.可以设置为像素或百分比.

一旦了解了龙手属性的工作,您可以在简写中开始编码:

  • flex:initialflex:0 1 auto -此设置使得Flex项目大小相对于内部的内容.例如,如果只有几行文本,则会增长很多内容并缩小.如果有免费空间可用,则该项目不会增长以适应整个区域,但如果房间短缺,它会缩小.
  • flex:autoflex:1 1 auto -这些选项中的任何一个都是根据需要缩小的Flex项目以适应您网页的任何屏幕尺寸.
  • flex:noneflex:0 0 auto -这会禁用灵活的尺寸,并将您的Flex项目大小设置为固定和不可调整到最终用户在任何屏幕尺寸上查看网站.
  • flex: 1 %px 相对灵活的尺寸-您键入的正数设置Flex Item占用其他Flex项目的Free Spear占用的部分,如果它们使用相同的模式.第二个号码让项目在较小的屏幕上缩小.像素或百分比中的第三个值设置了Flex项的初始大小,但请记住它还禁用flex-basis属性,这意味着不保证此初始大小.如果有足够的空间显示此初始调整尺寸,那么它显示,但如果没有足够的空间,则不显示精确的尺寸.如果项目的顺序在列表中的顺序和订单中的其他以前的项目中占用大部分空间,则尤其如此.此选项的示例是Flex:2 1 0%.

对于任何用于工作的选项,您需要首先使用高度和宽度设置FlexBox的大小.您选择的大小完全取决于您的特定需求.

在上面的示例样式表上,这是您的Flexbox CSS可能看起来像添加的大小:

加载GIST 4C12C040DD9252A7982C5100AEE630F3

使用此设置,此示例中的所有Flex项显示在同一行上.由于我想显示一个呼叫动作,并且直接在它下方直接提示以及上次和新行显示的其他信息,我需要添加flex-flow属性并将其设置为以行包装内容.

要完成此设置,我需要将此属性添加到FlexBox,这就是我为我的主页创建的代码的样子:

加载GIST 3C46ACC4A1F20CBF88321ECAE214C337.

当一个或多个Flex项目占用Flexbox的长度时,在它们上排列在新行之后的其他Flex项目.

基本结构现在都已设置,但由于我没有添加任何额外的样式,如背景颜色,当您查看页面时它不会看起来很多.为了让您更好地了解我的主页的最终样式应该是什么样的,我将添加一些额外的可选和基本的样式:

加载GIST 94EBFDCB9F34348BA857CDCEDAAAA5072.

我还向HTML部分添加了段落标记,以便我可以样式文本:

加载GIST 13008B1E7744572606C771898342FCA

只要记住,如果选择使用FlexBox或Flex项目包含min-width属性,则可能导致您的Flexbox无法按预期工作,并且可以覆盖您的Flexbox设置.

最终结果创建一个非常基本的前页,以确定,但它设置了基础.通过一点点工作和一些更具样式,您可以创建响应式WordPress页面和所需的网站.

包装

截至最近的CSS版本的进步带来了@media规则和其他改进,这使得现代,响应布局和主题更容易创建.现在,在草案中提出的FlexBox,您可以在不使用CSS Hacks用于清洁代码的情况下创建现代设计,这也更容易写入.

您现在可以立即开始使用Flexbox的所有工具,但您可以使用这么多的属性来帮助实现更多.幸运的是,您可以访问W3C的FlexBox的工作草稿上的完整列表.

由于应用于Flexbox的更改,因此密切关注FlexBox的工作文件,以保持最新的发展.

如果您想要一种有趣的方式帮助水泥在这篇文章中学到的东西,我会强烈建议您查看Flexbox Froggy,这是一个有趣的游戏,旨在帮助您更好地了解Flexbox和其属性如何工作.

5

发表回复