首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS进阶03-定位体系,格式化上下文,常规流

CSS2.2中对这个规定有了新解释。引入了表格式化上下文。并且声明,CSS未来级别,将引入其他类型格式化上下文。 果不其然,CSS3中,引入了GFC,FFC和RFC 4....BFC常见用途: 常见多栏布局,结合块级别元素浮动,里面的元素则是一个相对隔离环境里运行。 防止margin折叠。 防止高度塌陷。 4.2....我们可以通过在网格容器(grid container)上定义网格定义行(grid definition rows)和网格定义grid definition columns)属性各在网格项目(grid...item)上定义网格行(grid row)和网格grid columns)为每一个网格项目(grid item)定义位置和空间。...多栏布局(column-*) Flexbox 中也是失效,就是说我们不能使用多栏布局Flexbox 排列其下子元素。 Flexbox 下子元素不会继承父级容器宽度。

1.7K10

你可能不知道CSS 容器查询 」

我们系统能不能改成自适应布局啊? 我顿时虎躯一震:woc, 要把一个迭代了一年多固定设计产品,改成自适应布局? 真让人害怕 ???。...这可能并不总是与大小有关,而是与组件布局中放置位置有关。 例如,以下组件可能显示在网站布局窄或宽中。 如果有空间,它将显示为两,否则,我们希望将其堆叠显示。...上图中左右两个组件,是同一个组件,功能上是完全一样,只是要展示不同布局。...目前而言, 我们可以通过以某种方式识别该组件,比如通过添加一个类或使用其他选择器来定位元素,该选择器可以查看它在文档结构中位置。 但是,这并不能完全实现媒体查询整个布局中作用。...为了使卡仅在边栏宽于700px时才显示为两,我们使用以下CSS: @container (min-width: 700px) { .card { display: grid; grid-template-columns

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

建议收藏!总结了42种前端常用布局方案

完成左定宽右自适应 步骤如下: 左边开启浮动 通过外边距方式使该容器左边有左边容器宽度外边距 实现CSS代码如下: .left { /* 左边开启浮动 */ float: left...右容器开启右浮动 使中间自适应宽度为父级容器减去两个定宽 实现CSS代码如下: .left { /* 1....Flex方案 实现步骤如下 开启 flex 布局 将子元素布局方向修改为垂直排列 设置最小高度为当前口,使不管中间部分有多高,始终都可以保持底部 设置中间部分容器高度为自适应 实现CSS代码如下:...Grid方案 实现步骤如下 开启 grid 布局 置最小高度为当前口,使不管中间部分有多高,始终都可以保持底部 实现CSS代码如下: .main { /* 开启grid布局 */ display...: grid; grid-template-rows: auto 1fr auto; /* 设置最小高度为当前口,使不管中间部分有多高,始终都可以保持底部 */ min-height

4.1K30

建议收藏!总结了 42 种前端常用布局方案

完成左定宽右自适应 步骤如下: 左边开启浮动 通过外边距方式使该容器左边有左边容器宽度外边距 实现CSS代码如下: .left { /* 左边开启浮动 */ float: left...右容器开启右浮动 使中间自适应宽度为父级容器减去两个定宽 实现CSS代码如下: .left { /* 1....Flex方案 实现步骤如下 开启 flex 布局 将子元素布局方向修改为垂直排列 设置最小高度为当前口,使不管中间部分有多高,始终都可以保持底部 设置中间部分容器高度为自适应 实现CSS代码如下:...Grid方案 实现步骤如下 开启 grid 布局 置最小高度为当前口,使不管中间部分有多高,始终都可以保持底部 实现CSS代码如下: .main { /* 开启grid布局 */ display...: grid; grid-template-rows: auto 1fr auto; /* 设置最小高度为当前口,使不管中间部分有多高,始终都可以保持底部 */ min-height

4.1K30

万字总结 CSS 布局

由于文档流限制,极大限制了我们网页,例如:能并排不能改宽高等。所有,我们需要脱离标准文档流。 CSS中有三种手段可以使一个元素脱离标准文档流,分别为「浮动」、「绝对定位」和「固定定位」。...你可以通过设置top、left、bottom和right偏移量属性来将元素移动到你想要位置。 但是通常情况下你并不希望元素相对于口进行定位,而是相对于容器元素。...5.2.2 行和 容器里面的水平区域称为"行"(row),垂直区域称为""(column)。 上图中,水平深色区域就是"行",垂直深色区域就是""。...,直到容器不能放置更多。...grid-auto-flow: column dense; 上面代码效果如下。 上图会先填满第一,再填满第2,所以3号项目第一,4号项目第二。8号项目和9号项目被挤到了第四

5.6K20

59道CSS面试题(附答案)

不同点是float仍可占据位置,不会覆盖另一个BFC区域上,浮动框可以向左或向右移动,直到它外边缘碰到包含框或另一个浮动框边框为止, absolute会覆盖文档流中其他元素,即遮盖现象。...(3) JavaScript是网站中实现前后台交互效果、网页动画效果一种开发语言,比如鼠标单击( click)事件、前后台数据请求(Ajax)等。 10、为什么要初始化CSS?...可以通过在网格容器( grid container)上定义网格定义行( grid definition row)和网格定义grid definition column),在网格项目( grid item...)上定义网格行( grid row)和网格grid column)来为每一个网格项目定义位置和空间。...自适应单位有以下几个 百分比:% 相对于口宽度单位:ww 相对于口高度单位:vh 相对于口宽度或者高度(取决于哪个小)单位:Vm 相对于父元素字体大小单位:em 相对于根元素字体大小单位

4.9K50

低代码如何构建响应式布局前端页面

一般来说,处理这样问题时,我们需要开发和提供不同布局,通过检测分辨率,判断当前访问设备种类,请求不同页面布局从而提供尺寸较为合适展示场景。...网格(Grid)布局 网格布局(Grid)是CSS(层叠样式表,为网页添加页面样式一种计算机语言)布局方案一种,也是泛用性最广泛一种。...自适应模式 活字格中,自适应代表不是页面自适应,而是组件自适应。活字格页面设计是所见即所得,每一个组件都是通过单元格组合而形成。...活字格中,范围模式提供了按照像素与占比两种方式来设定范围 活字格范围模式设置界面 上图中最大值占比,代表是当且设置整个页面占据比例为1份,也就是说,如果整个页面,只有当前列被设置了占比为...多行区域单元格范围设置 通过设置范围模式达到内容自动填充页面的效果 总结 通过对页面拉伸和行列设置灵活运用,活字格所涉及应用可以灵活适应不同尺寸下展示终端,此外,活字格还提供了移动界面,方便用户移动端下

4K40

学姐叫我看 CSS 新出容器查询,然后把公共组件重构成响应式

在前端开发中经常需要按不同屏幕尺寸来进设计达到PC和移动端响应式。我们一般使用CSS媒体查询来检测口宽度或高度,然后根据该模式改变设计。 这就是在过去10年中设计Web布局方式。...喔或,这是一个很好问题。 问题是,只有当口宽度大于特定值时,开发人员才会使用组件变体。例如,如果我平板中使用 featured 也就是 PC 样式,它不能工作,为什么?...此外,我们可以在任何想要地方定义它们,这意味着如果需要,我们可以顶级容器上进行查询。现在大家已经理解了CSS容器查询基本思想,在看看下面图片加深一下映像。 左边,这是一个正在调整大小口。...CSS网格中,我们可以通过使用auto-fit关键字告诉浏览器,如果数量低于预期,我们希望展开列(您可以在这里阅读更多相关内容)。...CSS容器查询用例 我们来探索一些可以使用CSS容器查询实现用例。 聊天列表 我Facebook messenger上看到了这种模式。聊天列表根据口宽度改变。

2.2K30

CSS进阶04-块格式化上下文BFC

宽高其实是有着很复杂计算方法,这一点我们CSS进阶系列后面的文章中详细说明。这里我们来看一个例子: <!...就是说对于标准流中块级非替换元素,如果其overflow最终计算结果为visible,那么高度只会考虑其标准流中子元素(比如,移动和绝对定位盒子是会被忽略,相对定位盒子只会考虑其未被定位前位置...4.2 可以看到,div2即使包含在另一个块盒中,但是如果与div1同一个BFC且相邻,一样会产生margin折叠。...4.3 多栏布局(更多内容可以参考BFC与多布局) 4.3.1 两栏布局 特点:侧边栏宽度固定,内容栏可以根据浏览器宽度自适应。 <!...前端精选文摘:BFC 神奇背后原理 BFC与多布局 前端精选文摘:BFC 神奇背后原理

57630

如何做一个自适应网页?

,通常移动端和web端是分开,也就是会搞两套,一个移动版本,一个pc版本,并且两者功能要同步迭代,典型例子就是 m.taobao.com 和 taobao.com 自适应网页设计 自适应网页设计是一种网页设计...{ margin: 1em 2em; } } 这段css表示意思就是当前口至少要有800像素,才会给.container选择器加上对应css样式,你可以加入很多这样条件,调整页面显示最佳尺寸...,改变相应样式,这种行为被称为断点 同时设计项目的时候,我们可以先完成一个手机端页面,然后通过断点方式不断完善pc展示效果,这种通常被叫做移动优先设计 现代自适应布局 很久之前,我们经常使用...float进行多布局,但是出现css3之后,现在我们通常使用flex、grid等现代方式进行,本质是通过参照容器空间大小,缩小或者放大每个元素分布空间,达到动态平衡,更改flex-grow以及flex-shrink...: 500px; } } _Users_01394862_Downloads_A liquid layout.html (2).png 这种自适应方式切换起来很流畅,并且布局改动grid加成下变得异常简单明了

39420

小智在这3年开发中遇到 CSS 问题及解决方案,有大佬帮他总结好了 !

长单词和链接 当在移动屏幕上阅读一篇文章时,一个长单词或内联链接可能会导致出现水平滚动条。使用CSS word-break可以防止这种情况发生 ?...网格中auto-fit和auto-fill之间差异误解 CSS grid中,repeat函数可以创建响应列布局,而不需要使用媒体查询。...简而言之,auto-fill将在不扩展情况下对进行排列,而auto-fit只会在列为空情况下将折叠到零宽度。 8....使用 CSS grid 定义 main 和 aside 元素 CSS grid 常规布局中 main 和 aside 部分,为了让布局更加完美,我们应该让 aside 高度等于 main 高度,即使...压缩或拉伸图像 CSS中调整图像大小时,如果宽高比与图像宽度和高度不一致,则可能会对其进行压缩或拉伸。

3.7K10

几种常见CSS布局

//html部分同上 .parent { display:grid; grid-template-columns:auto 1fr; grid-gap:20px } 三、三栏布局 特征:中间自适应宽度...③ 缺点 center部分最小宽度不能小于left部分宽度,否则会left部分掉到下一行 如果其中一内容高度拉长(如下图),其他两背景并不会自动填充。...实现方法简单,兼容性强,不需要太多css样式就可以轻松实现,但此方法不适合流体布局等高布局。 制作样式之前需要一张类似下面的背景图: ?...参考文章 双飞翼布局介绍-始于淘宝UED CSS三栏布局四种方法 CSS布局---左侧固定,右侧自适应自适应布局四种思路 css常见布局之九:三栏布局常见实现 【布局】聊聊为什么淘宝要提出...「双飞翼」布局 CSS单列布局与二&三布局

86120

几种常见 CSS 布局

自适应布局是指一由内容撑开,另一撑满剩余宽度布局方式 1.float+overflow:hidden 如果是普通布局,浮动+普通元素margin便可以实现,但如果是自适应布局,...//html部分同上 .parent { display:grid; grid-template-columns:auto 1fr; grid-gap:20px } 三、三栏布局 特征:中间自适应宽度...③ 缺点 center部分最小宽度不能小于left部分宽度,否则会left部分掉到下一行 如果其中一内容高度拉长(如下图),其他两背景并不会自动填充。...实现方法简单,兼容性强,不需要太多css样式就可以轻松实现,但此方法不适合流体布局等高布局。 制作样式之前需要一张类似下面的背景图: ?...参考文章 双飞翼布局介绍-始于淘宝UED CSS三栏布局四种方法 CSS布局---左侧固定,右侧自适应自适应布局四种思路 css常见布局之九:三栏布局常见实现 【布局】聊聊为什么淘宝要提出

88920

深入学习下 CSS 间距相关知识

CSS 网格中,可以使用 grid-gap 属性轻松地和行之间添加间距。...它是行间距和间距简写。...按需差距 我真正喜欢 CSS 网格地方是 grid-gap 仅在需要时才应用,考虑以下模型。 我有一个有两张卡片部分。 移动设备上,我希望间距低于第一个,而在桌面上,间距将在它们之间。...使用 :not 选择器之前无法覆盖它。 如果设计有多于一,它将不起作用,见下图。 关于解决方案 #2,它没有 CSS 特异性问题。 但是,它仅适用于一个堆栈。...CSS 数学函数:Min()、Max()、Clamp() 是否有可能拥有动态margin? 例如,根据口宽度设置具有最小值和最大值边距。 答案是肯定! 我们可以。

13.4K40

BFC 形成和作用

grid items,即 display 值为 grid 或 inline-grid 元素直接子元素(该子元素 display 不为 flex,grid,或 table)。...弹性格式化上下文(FFC,flex formatting context), CSS3 中定义。 栅格格式化上下文(GFC,grid formatting context), CSS3 中定义。...BFC 包含内部浮动(解决内部浮动元素导致高度塌陷)。 BFC 排斥外部浮动(触发 BFC 元素不会和外部浮动元素重叠)。 外边距折叠计算不能跨越 BFC 边界。...各自创建了 BFC 兄弟元素互不影响(注:水平方向上多个浮动元素加一个或零个触发 BFC 元素可以形成多布局)。...通过 BFC 可以实现灵活健壮自适应布局,一行中达到类似 flexbox 效果,示例如下: 两栏自适应布局 1.gif 多自适应布局 2.gif 参考资料 块级格式化上下文 包含块:MDN

25111

Bootstrap实用手册

口 - viewport IOS 中 Safari 最早引入概念 口:移动设备中,浏览器里显示网页一块区域(PC 端会忽略) 对于响应式网页,设置信息: (1)....手动缩放:不允许缩放网页 HTML 中指定口信息:(移动端必备) <meta name="viewport" content="width=device-width,initial-scale...<em>列</em>偏移数量,每个<em>列</em>都可以指定向右偏移几列位置(<em>不能</em>用float),偏移<em>的</em><em>列</em>会影响后续<em>的</em><em>列</em>,主要作用是<em>列</em>左右留白,<em>列</em>右对齐,<em>列</em>居中 A. .col-xs-offset-n :<em>在</em> xs 下,当前列向右偏移...<em>列</em>排序数量,控制某<em>列</em>向右或向左<em>移动</em>,并不影响其它<em>的</em><em>列</em>,主要作用是<em>在</em>特定<em>的</em>屏幕下临时调整列<em>的</em>出现位置 A、col-lg-push-n: <em>在</em> lg下,当前列向右<em>移动</em>n <em>列</em><em>的</em>距离 B、col-lg-pull-n...: <em>在</em> lg下,当前列向左<em>移动</em>n <em>列</em><em>的</em>距离 ⑦.

5.9K20

深挖 Threads App 帖子布局,我进一步加深了对CSS网格布局理解

当我遇到一个新产品时,我首先想到是他们如何实现CSS。当我遇到MetaThreads时也不例外。我很快就探索了移动应用程序,并注意到我可以在网页上预览公共帖子。...使用CSS Grid进行帖子布局 在生产应用程序中,CSS Grid最显着用例之一就是Threads。CSS Grid用于构建帖子布局。...我不知道为什么团队会选择这种方法,但我更喜欢使用gap属性。 为什么不使用命名CSS网格区域呢? 根据我目前观察到情况,有三种网格布局变体,它们都可以受益于使用命名网格区域。...当选项卡数量增加时,我们只需要更改CSS变量值。很简洁,对吧? 溢出换行 我注意到帖子正文中使用了overflow-wrap: anywhere。我以前没有使用过或听说过这个关键词。...如果Threads团队中有任何人正在阅读这篇文章,我非常好奇为什么。 动态口单位使用 我喜欢启动画面中使用动态口单位dvh。

14220

译|CSS间距,前端开发中各种设置间距优点缺点及实例

CSS网格中,可以使用 grid-gap 属性轻松和行之间添加间距。...按需定制 我真正喜欢CSS Grid 地方是 grid-gap 只需要时候才会被应用。考虑下面的模型。 ? 没有CSS网格,就不可能拥有这种灵活性。...使用 :not 选择器之前不可能覆盖它。 万一设计中有不止一,它将无法正常工作。参见下图。 ? 关于解决方案2,它没有CSS特异性问题。但是,它只能处理一个栈。...或者,当它垂直堆叠时移动设备上将如何工作?很多很多复杂性。...CSS数学函数:Min(),Max(),Clamp() 有可能有动态边距吗?例如,根据口宽度设置具有最小值和最大值空白。答案是肯定!我们可以。

11.8K10
领券