首页
学习
活动
专区
圈层
工具
发布

分享 10 个 常用且必须要掌握的 CSS 知识点

此外,添加边距、内边距和边框不会减小内容区域的总大小。 box-sizing 还有另一个值,称为border-box。 设置时会减小内容区域的大小。...简单来说,它就像一个显示文本、图像、视频等的框,通过使用宽度和高度等属性来调整大小。内容区包含元素的主要内容。内容包括文本、图像或视频。 2、填充: 填充在其边界内围绕元素创建空间。...这些 CSS 属性的工作方式与填充大小属性的工作方式类似。...此外,您可以查看使用 flexbox 和 CSS-grid 布局的元素。 在网站的视觉方面工作时会产生很大的不同。它使事情变得整洁且易于修复。...e) stretch 拉伸值拉伸弹性项目以填充弹性容器。如果未指定其他值,则这是 align-items 属性的默认值。

9.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Grid和Flex打造响应式布局:让你的网站“随遇而安”

    作为一名前端开发人员,我们需要考虑很多因素,比如字体大小、间距、内容区域等等。我们需要使用现代CSS技术和工具,比如Flexbox和Grid布局,以及媒体查询等等。...除了Flexbox和Grid布局之外,媒体查询也是实现响应式设计的重要工具之一。媒体查询可以根据设备的屏幕大小和分辨率来应用不同的CSS样式,从而实现不同设备上的不同布局和样式。2....我们可以把网站的导航栏、内容区域和侧边栏都放在一个Flexbox容器中,然后根据设备的屏幕大小自动调整它们的排列和样式。接下来,我们需要使用媒体查询来实现不同设备上的不同布局和样式。...grid-auto-flow: dense; 属性使得网格项可以自动填充空白区域,从而实现更加紧凑的布局效果。.item 类定义了网格项的基本样式,包括背景颜色、内边距和文本对齐方式。....large-item 类定义了一个较大的网格项,占据两列的空间。通过这种方式,网格项会自动填充到可用的空白区域中,从而实现更加灵活和紧凑的布局效果。

    4.5K21

    CSS Flexbox 布局指南

    这里有一张你可以打印的高分辨率图像!免费下载。...Flex 布局的主要思想是赋予容器调整其项目宽度/高度(和顺序)的能力,以最佳填充可用空间(主要是适应各种显示设备和屏幕尺寸)。一个弹性容器会扩展项目以填充可用的空闲空间,或缩小它们以防止溢出。...flex-direction 这建立了主轴,从而定义了弹性项目在弹性容器中放置的方向。Flexbox 是一个单向布局概念(除了可选的换行)。将弹性项目主要视为在水平行或垂直列中布局。...它有助于分配当所有弹性项目在一行上都不可调整大小或可调整大小但已达到最大尺寸时剩余的额外空间。它还对项目溢出行时的对齐方式施加了一些控制。...align-self 这允许覆盖单个弹性项目的默认对齐方式(或由 align-items 指定的对齐方式)。 请参阅 align-items 解释以了解可用值。

    2.3K10

    CSS布局新方案——Grid 网格布局

    ,值得大小代表轨道的大小 :可以是一个长度值(px em等)、百分比或者是网格中自由空间的一部分(fr为单位,类似于Flexbox里面的 flex-basis 的值) <line-name...:空单元格 none:无网格区域被定义 将这个网格容器划分成几个区域,从而组成一个网格模板,这几个区域有各自的名称,子项目通过 grid-area 属性来占有相应的区域。...: start:网格在网格容器中左对齐 end:网格在网格容器中右对齐 center:网格在网格容器中居中对齐 stretch:调整网格的大小,使其宽度填充整个网格容器 space-around:和Flexbox...(可以定义某个网格项不同于使用 justify-items 的对齐方式) 属性值: start:网格项在所在网格区域左对齐 end:网格项在所在网格区域右对齐 center :居中对齐 stretch:...5. align-self 定义 某个网格项 相对于行轴在垂直方向上的对齐方式(可以定义某个网格项不同于 使用 align-items 的对齐方式) 这个与justify-self属性相同,不过是在垂直方向上

    3.3K10

    CSS Flexbox与Grid:构建响应式布局的艺术

    .container { grid-gap: 10px 20px; /* 行间距10px,列间距20px */ } grid-auto-columns 和 grid-auto-rows 定义自动填充网格时新添加行或列的轨道大小...可选值: row(默认):按行填充。 column:按列填充。 dense:当row或column与dense一起使用时,如果网格中有空缺,新项目将尝试填补这些空缺,而非仅仅添加到网格末尾。...*/ } CSS Grid 与 Flexbox 结合 在某些情况下,我们可以结合CSS Grid和Flexbox的优点,创建更复杂的响应式布局。...每个网格项(子元素)内部使用Flexbox,使内容垂直居中。当屏幕宽度小于768px时,通过媒体查询切换到单列布局,以适应移动设备。...Flexbox 与 Grid 的选择 选择使用Flexbox还是Grid,通常取决于具体的需求: Flexbox 适合处理一维布局,比如行或列中的元素排列,以及元素的对齐和填充。

    1.6K10

    前端-CSS Grid中的陷阱和绊脚石

    这里有一个简单的示例,突出其区别。第一个布局使用Flexbox,为了能尽可能多的使用盒子,以适合可用的宽度。这里我们控制了整个行中的布局。...使用Flexbox要比浮动更有一些优势,比如控制对齐和列等高之类的要简易得多。然而,在Flexbox和浮动的方法中仍然没有网格,只是通过设置项目的大小,并将它们排列起来,让其看起来像网格的东西。...第二行也是自动大小,再扩展以包含内容。  ...这将导致网格项目从源程序中取出,并尝试在网格填充空白区域。...一个真正的瀑布流布局将使事物在源代码中工作。项目被推上去填充部分空间。它更像是在两个维度上做Flexbox布局。

    5.9K20

    Flex布局与Grid布局用法详解与全面对比

    虽然两者在某些场景下功能重叠,但设计理念和适用范围截然不同。掌握它们的区别与协同使用策略,是构建响应式、可维护、高性能网页的关键。...1fr 2fr, repeat(3, 1fr), minmax(100px, 1fr) grid-template-rows 定义行的大小 同上 grid-template-areas 定义网格区域的名称和布局..., end, center, stretch (默认) align-items 网格项在单元格内的垂直对齐 同上 justify-content 整个网格在容器内的水平对齐 (当网格总大小小于容器时)...: auto-fit:自动填充可用空间 minmax(200px, 1fr):每项至少 200px,最多均分剩余空间 三、 Flexbox 布局详解 Flexbox 是一种一维布局模型,专注于在单个方向...5.2 选择指南 场景 推荐布局 理由 整体页面框架 Grid 二维控制,区域划分清晰 导航栏 / 按钮组 Flexbox 一维排列,对齐简单 图片墙 / 卡片网格 Grid 严格对齐,响应式友好 表单项

    93911

    《网格与轴线的博弈:为何Grid是二维布局的终极解》

    ,如同棋盘随着桌面大小等比例缩放,每个棋子的相对位置始终保持和谐。...,还要处理不同容器间的对齐冲突,就像用多个单行道拼成一个十字路口,总有关联处出现拥堵。...渲染引擎首先会解析所有网格定义,在内存中构建一个虚拟的网格坐标系,明确每行每列的起点和终点,然后直接将每个网格项目"放置"到对应的坐标区间,就像在地图上标记地点,坐标确定后位置就不会偏移。...比如设计一个新闻网站首页,Grid可以先定义"顶部通栏-左侧主新闻-右侧边栏-底部推荐"的整体框架,再细化每个区域的内部结构,就像先画好建筑的承重墙,再填充门窗,结构稳定性远超"先堆墙再调整"的方式。...真正的布局大师,懂得让Grid负责整体的二维骨架,让Flexbox处理骨架内的一维细节,就像建筑师用钢筋搭建房屋框架,再用砖块填充墙体,两者各司其职,共同构建稳固而灵活的结构。

    25810

    CSS_Flex 那些鲜为人知的内幕

    默认的Flow布局旨在创建数字文档;它本质上是Microsoft Word的布局算法。「标题和段落以块的形式垂直堆叠,而文本、链接和图像等元素则不显眼地位于这些块内部」。...交叉轴(Cross Axis):子元素将「伸展」以「填充整个容器」。 ❞ ❝在Flexbox中,我们决定主轴是水平运行还是垂直运行。这是「所有 Flexbox 计算的基准」。 ❞ 4....因此,子元素的大小被缩小,以「适应空间」。 这是 Flexbox 哲学的核心部分。「事物是流动和灵活的,可以根据世界的限制进行调整」。 6....例如,width属性对替换元素(如图像)的影响与flex-basis不同。此外,width可以将项目减小到其最小尺寸以下,而flex-basis则不能。...原因是:除了假设大小之外,Flexbox 算法还关心另一个重要的大小:「最小大小」。 ❝Flexbox算法拒绝将子元素缩小到其最小大小以下。

    4.4K10

    使用CSS实现底部固定广告Banner与自适应内容区域

    本篇文章将详细介绍如何使用纯CSS(不依赖JavaScript)来实现一个高度自适应的页面内容区域和一个始终固定在页面底部的广告Banner,同时确保两者不会重叠。...使用Flexbox布局Flexbox是一个强大的CSS布局模型,它允许我们轻松地对齐和分配容器中项目的空间,即使它们的大小未知或是动态变化的。...分配空间内容区域:使用flex: 1;属性,这会使内容区域自动扩展以填充所有可用空间(除了底部广告Banner所占用的空间)。底部广告Banner:不需要特别设置高度,因为它将根据其内容自动调整大小。...,但我们可以设置一个足够大的值以确保不会重叠,或者使用媒体查询来适应不同屏幕尺寸)。...注意,如果广告Banner的高度是动态变化的,并且你希望内容区域能够自动调整其底部内边距以匹配Banner的实际高度,那么可能需要使用JavaScript来动态设置CSS属性。

    1.2K10

    移动端适配必须掌握的基本概念和适配方案

    以常用的 750px 设计稿尺寸为例,假设设计稿的某个字体大小是 40px,换算成 rem 应该为 40 / 75 = 0.53333rem。...使用公式:(元素大小 / 设计稿大小)* 100vw 将元素大小转换为 vw 单位的大小。...以常用的 750px 设计稿尺寸为例,假设设计稿的某个字体大小是 40px,换算成 vw 单位大小应该为 (40 / 750)* 100vw = 5.33333vw。...当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式,提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。...弹性盒适配的基本原则是: 内容流式:即弹性项目(弹性布局容器中的每一个子元素)的填充内容使用流式布局。 布局弹性:即涉及元素排列、对齐和空间分配时,使用弹性盒进行布局。 目前,没有完美的适配方式。

    1.5K40

    Flexbox布局指南

    Flexbox布局概念 Flexbox布局( Flexible Box 或CSS3 弹性布局),是CSS3中的一种新的布局模式,是可以自动调整子元素的高和宽,来很好的填充任何不同屏幕大小的显示设备中的可用显示空间...使用Flexbox来布局更容易,可以使用更少的代码,更简单的方式实现更复杂的布局,例如对齐方式,排列方向,排列顺序(这也是Flexbox布局的核心能力所在),弹性盒中的子元素通过在各个方向放置就可以以弹性的尺寸适应父元素的显示区域...虽然块级元素布局在页面中工作良好,但是其定义不足以支持那种需要根据用户代理从竖直切换成水平等变化而进行方向切换、大小调整、拉伸、收缩的引用组件。...在具体属性开始之前还是要注意几点: Flexbox 在最终形成今天的规范之前,历经了三次迭代。每一次迭代都伴随着不同的属性名,在不同浏览器下有着相应的特定前缀。...center, align-items定义伸缩项目在侧轴(垂直于主轴)的对齐方式为center。

    2.2K70

    CSS Grid 那些鲜为人知的内幕

    fr vs % fr单位为Grid带来了类似Flexbox样式的灵活性。百分比和 值会创建硬约束,而fr列可以「根据需要自由地增长和收缩,以容纳其内容」。...随着容器宽度发生变化,当容器宽度小到一定程度,即第一列的宽度小于图像的设定宽度时,就会发生如下的变化。 基于百分比的列的宽度大小会按照容器宽度*N%变化,当列宽度小于图像宽度时,图像从列中溢出。...start:将网格与容器的开始边缘对齐 end:将网格与容器的结束边缘对齐 center:将网格置于容器的中心 stretch:重新调整网格项的大小,以使网格填充容器的整个宽度 space-around...其值为以下几个: start:将网格项与其单元格的开始边缘对齐 end:将网格项与其单元格的结束边缘对齐 center:将网格项置于其单元格的中心 stretch:填充单元格的整个宽度(这是默认值)...Grid 还提供了一组额外的属性来在垂直方向上对齐内容: align-items 其取值为以下几种: stretch:填充单元格的整个高度(这是默认值) start:将项目与其单元格的开始边缘对齐 end

    3.5K10

    阅读Mijin有感

    和传统的点阵图像模式,像JPEG和PNG不同,SVG格式提供的是矢量图,这意味着它的图像能够被无限放大而不失真或降低质量,并且可以方便地修改内容。 svg的内容实在太多了,无法一一进行说明。...viewBox属性的值是一个包含 4 个参数的列表min-x, min-y, width, height, 以空格或者逗号分隔开, 在用户空间中指定一个矩形区域映射到给定的元素。...元素从主轴的起始线开始。 元素不会在主维度方向拉伸,但是可以缩小。 元素被拉伸来填充交叉轴大小。 flex-basis 属性为 auto。 flex-wrap 属性为 nowrap。...如果没有给元素设定尺寸,flex-basis 的值采用元素内容的尺寸。所以容器内的元素会自动分配大小以展示内容。...这是未定义元素的默认值。这么设置的原因是因为不同的操作系统会有不同的原生样式,如此设置来将样式进行统一,不展示原生样式。 该属性具体的解释可以参考这篇文章[5]。

    1.4K20

    Flexbox布局指南

    Flexbox Layout 背后的主要思想是为了让容器container有能力去调整它的items的宽高顺序,从而最好地填充可用的空间(主要是为了适应各种尺寸的设备和屏幕),一个可伸缩的container...扩展它的items去填充可用的剩余空间,或者让它们缩小以防止超出范围。...它的方向取决于主轴的方向 cross-start cross-end - items填充在 container里,沿着 cross-start 朝着cross-end. cross size - 纵轴方向上的大小...将items视为主要布置在水平行或垂直列中。...如果所有item的flex-grow的值设为1,则容器中的剩余空间将平均分配给所有的item, 如果其中一个item的值为2,其他为1,则剩余空间将占用其他空间的两倍(或者至少会尝试)。

    1.9K20

    一文带你响应式网页设计入门

    在响应式网页设计流行之前,许多公司在处理不同用户设备访问网站时,需要根据不同设备类型将用户重定向到不同的站点上去。最常见的就是 www.*.*, m.*.*。...用于标识移动网站的Viewport Meta标签 viewport meta标签为浏览器如何调整页面以适应每个设备的宽度做出了依据。...媒体查询是自适应Web设计的重要组成部分,通常用于屏幕大小和方向不同的网格布局、字体大小、边距和填充。...Flexbox布局(Flexible Box)模块提供了另一种更棒的方式来应对页面种类似布局、对齐和分配容器等需求,即使它们的大小是动态的。...您可以为桌面和移动设备设置监控,以获得有关您的网站响应情况的持续反馈。例如,Lighthouse报出当前设备未能正确加载的图像。 ?

    6.3K20

    【Taro】363- 玩转 Taro 跨端之 flex 布局篇

    Taro 是一套遵循 React 语法规范的跨平台开发解决方案,但是目前当我们使用 Taro 的时候,在不同平台上的开发体验还有不一致的地方,所以我们也都期待有一套跨平台统一的解决方案,能够以最小差异的方式向开发者提供更好的开发体验...Flexbox 可以对齐主轴或横轴上的项目,从而提供对一组项目的大小和对齐的高级控制,大多数场景下,使用 flex-direction、align-items 和 justify-content 三个样式属性就已经能满足大多数布局需求...接下来的每一个 flex 元素紧跟前一个 flex 元素。 flex-end 所有 flex 元素从垂直轴末尾开始填充。最后一个 flex 元素的垂直轴终点和容器的垂直轴终点对齐。...同时所有后续 flex 元素与前一个对齐。 center 所有 flex 元素朝向容器的中心填充。每 flex 元素互相紧挨,相对于容器居中对齐。...它会缩短自身以适应 flex 容器,但不会伸长并吸收 flex 容器中的额外自由空间来适应 flex 容器 。 相当于将属性设置为"flex: 0 1 auto"。

    4.2K30

    自动换行 CSS Grid 网格布局概念解析

    Flexbox 会根据内部内容的大小自动调整容器的大小。然而,CSS 网格则是先定义一个容器,然后将内容适配到这个容器中。...相关技术方案对比Flexbox优点:Flexbox 具有很好的灵活性,能够根据内容的大小自动调整容器的大小,实现内容的自动换行。它的语法相对简单,易于理解和使用。...最佳实践实践一:使用 CSS 网格实现自动换行布局原理说明在网页布局中,传统的 Flexbox 布局虽能实现内容自动换行,但网格项对齐较复杂。...进阶技术路线图:高级 CSS 网格技术:该文章深入研究了高级CSS网格技术,包括网格区域、网格自动放置、使用minmax()函数、网格自动填充与自动调整等内容,还介绍了如何将CSS网格与flexbox等其他布局系统结合起来...CSS进阶 - Grid布局高级应用:文章探讨了Grid布局的高级应用,揭示了常见陷阱,并通过实例代码指导如何避免这些问题,如自适应列宽、复杂区域布局和元素层叠对齐等技巧,能帮助开发者高效驾驭这一强大布局工具

    1.8K10

    二维布局:Grid Layout

    值: start - 将网格与网格容器的起始边缘齐平 end - 将网格与网格容器的结束边缘齐平 center - 将网格与网格容器的中间齐平 stretch - 调整网格项的大小以允许网格填充网格容器的整个宽度...因为我们引用了不存在的行,所以创建宽度为0的隐式轨道以填充间隙。...您正在做的是指定行名称和轨道大小与其各自的网格区域内联。...值: start - 将网格项对齐以与单元格的起始边缘齐平 end - 将网格项对齐以与单元格的结束边缘齐平 center - 对齐单元格中心的网格项 stretch - 填充整个单元格的宽度 .item...值: start - 将网格项与单元格的上边缘齐平 end - 将网格项与单元格的下边缘齐平 center - 将网格项与单元格的中心对齐 stretch - 填充整个单元格的高度 .item {

    5.4K20
    领券