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

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

很简单,不是吗?但是,当处理具有许多细节和子元素的组件时,这会变得越来越复杂。 margin 外部间距 它用于增加元素之间的间距。...另一个与边距折叠相关的例子是子节点和父节点。...父节点具有 padding:1rem,这导致子节点从顶部、左侧和右侧偏移。但是,子元素应该紧贴其父元素的边缘。负margin可以助你一臂之力。...你能猜出CSS中的间距应该如何设置吗?好吧,让我为你添加一个骨架模型。...Card组件 Oh,如果我想把所有细节的Card组件间距都写进去的话,最后可能会出现书本上的内容。我就突出一个大概的模式,看看间距应该如何应用。 ? 你能想到此卡片在哪里使用间距吗?参见下图。 ?

12.1K10

CSS_Flex 那些鲜为人知的内幕

我们能所学到的知识点 ❝ 前置知识点 Flexbox 是个啥?...这意味着,默认情况下,「所有子元素将根据 Flexbox 布局算法定位」。 每种布局算法都是为解决特定问题而设计的。...在这种情况下,限制因素是父元素没有足够的空间容纳一个宽度为 2000px 的子元素。因此,子元素的大小被缩小,以「适应空间」。 这是 Flexbox 哲学的核心部分。...在某个时候,所有元素都没有足够的空间来保持它们被分配的大小,因此「它们必须妥协,以避免溢出」。 ❝一般来说,在 Flex 行中,我们可以互换使用width和flex-basis,但也有一些例外情况。...如果子元素太大而无法容纳,flex-grow没有影响,因为没有额外的空间可分配。 防止缩小 有时,我们不希望 Flex 子元素缩小。 让我们看一个例子: 当容器变窄时,我们的两个圆形被挤变形了。

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

    CSS3的flex布局

    flex的一些属性 CSS3中引入了另一种框--flexbox,flexbox有一些block和inline不同的性质,比如: 自适应子元素(flex item,又称伸缩项目)的宽度 伸缩项目的float...设置flexbox的兼容性   将一个容器设置为flexbox(又称伸缩容器)很简单,但是却存在一些兼容性的问题,比如在IE10下,早期的webkit系列中,都与标准有一些差异,但是我们可以通过less...预处理器避免手动输入这些重复的代码。...flex-grow属性值为正数值,用来设置扩展比率,也就是剩余空间是正值的时候此伸缩项目相对于伸缩容器里其他伸缩项目能分配到空间比例。若省略则会被设置为“1”。...flex-shrink属性值为正数值,用来设置收缩比率,也就是剩余空间是负值的时候此伸缩项目相对于伸缩容器里其他伸缩项目能收缩的空间比例。

    1.4K60

    【CSS】253- 从原型图到成品:步步深入 CSS 布局

    要避免一边在脑海里设计,一边在浏览器中七拼八凑地攒布局,这样的开发过程才会更顺畅。你当然可以达到那种手脑合一的境界!但鉴于你还在乖乖地读这篇文章,我可以假设你还没有那么神通广大。...但你可以用矩形边框的模式去分析它们。这样的想象能帮你理解布局。...没错没错,在 Web 开发的世界,普遍的更替法则是后浪推前浪,但 CSS 并不如此。Flexbox 和 Grid 能够和谐共存。 用 CSS 解决问题,条条大路通罗马!...你只要记住这条规则就行了。 ? 现在文字内容都到头像右侧去了。问题是头像图片都扭曲变形了。...在 .tweet 选择器上设置的 CSS 效果,其所有子元素都会继承。 (除了按钮。

    4.4K51

    CSS Flexbox 布局完全指南 (一):4000字,多示例讲解

    46 分钟) - 如果你对 CSS 掌握得不是很好,我推荐你阅读 CSS 全面(实用)指南(74 课时的付费课程) - 你不需要遵照这里列出的示例顺序 - Flexbox 只是一种布局的技巧,实际项目中涉及到的东西除了布局还有很多...图片都被纵向拉伸,并且挤在一行内,不能更丑 :( 这就是由于 Flexbox 布局的默认展示方式: 1、将所有的子元素压在一行内,不换行。...因为 wrap 值的改变,现在图片换行排列 2、现在图片有换行,但是仍然被纵向拉伸。我们当然不想要这样变形的布局。 stretch 显示是因为 flex 里默认的 align-items 值。...除了能得到一个免费的响应式图片集外,使用 Flexbox 的另一个优势就是它的对齐选项。...由于子元素排列需要更大的宽度,所以子元素不能在父元素内排列时就会换行。 接下来我们给 .card 元素一个初始宽度。

    4.5K20

    20个 CSS 快速提升技巧

    1、使用CSS重置(reset) css重置库如normalize.css已经被使用很多年了,它们可以为你的网站样式提供一个比较清晰的标准,来确保跨浏览器之间的一致性。...布局来避免margin的问题 (Get Rid of Margin hacks width Flexbox) 当你多少次试着去设计栅格布局如:组合或者图片画廊,如果使用浮动的方式,那么就需要去清除浮动和重置外边距来使其分解成所需要行数...为了避免nth-、first-、last-child 问题 ,可以使用flexbox 的space-between 属性值。...当然,你也可以使用 .nav li+li或者 .nav li:first-child ~li ,但是 :not是更有语义化(semantic)和容易理解的。...这迫使您为子元素中的任何链接编写额外的覆盖和样式规则,并且在使用像WordPress这样的CMS时,可能会导致您的主链接样式比按钮文本颜色更容易出现问题。

    3.3K20

    如何提升你的CSS技能,掌握这20个css技巧即可

    1、使用CSS重置(reset) css重置库如normalize.css已经被使用很多年了,它们可以为你的网站样式提供一个比较清晰的标准,来确保跨浏览器之间的一致性。...布局来避免margin的问题 (Get Rid of Margin hacks width Flexbox) 当你多少次试着去设计栅格布局如:组合或者图片画廊,如果使用浮动的方式,那么就需要去清除浮动和重置外边距来使其分解成所需要行数...为了避免nth-、first-、last-child 问题 ,可以使用flexbox 的space-between 属性值 .flex-container{ display:flex; justify-content...当然,你也可以使用 .nav li+li或者 .nav li:first-child ~li ,但是 :not是更有语义化(semantic)和容易理解的。 ?...这迫使您为子元素中的任何链接编写额外的覆盖和样式规则,并且在使用像WordPress这样的CMS时,可能会导致您的主链接样式比按钮文本颜色更容易出现问题。

    5K20

    CSS Conf -《新时代CSS布局》学习总结

    在这里,慧晶老师分享了一个很有趣的链接,就是可以查看最初的网页长什么样,链接在此:https://worldwideweb.cern.ch/browser/。...Flex 在这部分慧晶老师主要介绍了Flex的语法以及使用技巧(关于语法部分,在此不再累述,有兴趣的可以翻阅MDN)。慧晶老师在介绍完Flex之后便开始了第一个栗子:自动margin是你的好友 ?...举个例子,容器内只有一个子元素。我们可以运用margin来操纵它。如果不设定任何方向,盒子就会在容器的正中间。一行搞定水平垂直居中的问题。...因为flex或grid容器跟子元素的关系,在布局时是被浏览器承认的。因此,浏览器才有办法计算出四面的自动margin取值。...“所以应该是用Gird还是Flex?” 关于这个问题的答案,慧晶老师回答道: 这不是个二选一的状况,应该是二合一才对。 Flexbox比较适合单维方向的布局。

    85341

    Flexbox布局杂谈

    Flexbox在2009年被W3C提出,可以很简单、完整地实现各种页面布局,而且还是响应式的,开始被应用于前端领域,目前所有浏览器都已支持。...使用Flexbox布局的视图元素叫Flex容器(flex container),其子视图元素会自动成为容器成员,叫做Flex项目(flex item)。...vStack;然后,为vStack设置两个子节点,第一个子节点是标题,第二个子节点是正文内容;接下来,创建一个横轴方向的ASStackLayoutSpec视图容器hstack,在hstack里添加imageNode...和vStack节点;最后,创建一个ASInsetLayoutSpec容器,设置四周边距为5,将hStack作为其子节点。...了解Flexbox布局算法设计,一方面能够让你更好地理解flexbox布局;另一方面,你也可以借此完整地了解一个布局算法是怎么设计的,使得你以后也能够设计出适合自己业务场景的布局算法。

    2.2K30

    CSS Flex 布局

    # Flexbox 的原则 给元素添加display: flex,该元素变成了一个弹性容器(flex container),它的直接子元素变成了弹性子元素(flex item)。...在实际开发时,很少用到 display: inline-flex。 一个弹性容器能控制内部元素的布局。子元素按照主轴线排列,主轴的方向为主起点(左)到主终点(右)。垂直于主轴的是副轴。...如果一个弹性子元素的 flex-grow 值为 0,那么它的宽度不会超过 flex-basis 的值;如果某个弹性子元素的增长因子非 0,那么这些元素会增长到所有的剩余空间被分配完,也就意味着弹性子元素会填满容器的宽度...flex-grow 的值越大,元素的“权重”越高,也就会占据更大的剩余宽度。一个 flex-grow: 2 的子元素增长的宽度为 flex-grow: 1 的子元素的两倍。...baseline | stretch align-content 如果开启了 flex-wrap, align-content 将控制子元素在副轴上的间距 如果子元素没有换行,该属性被忽略 值:flex-start

    1.3K10

    给萌新的Flexbox简易入门教程

    使用Flexbox的好处 flexbox的一些好处是: 页面元素能被任意方向地放置(靠左、靠右、从上往下甚至从下往上) 布局内容的可视顺序能够被反转或重排 元素大小能“弹性”适应可用空间,并根据容器或者兄弟元素进行相应地对齐...如此设置会让它的子元素变成“弹性项目(flex item)”。这些弹性项目拥有一些易于使用的默认属性。比如,它们被紧挨着放置,那些没有特别指明宽度的元素自动占满了剩余的空间。...因此,如果你给.main设置了display:flex,它的子元素.content就被自动挤在和之间。不需要再多余的计算,多么方便是吧?...然而,强大的能力也到来了更多的责任:谨记,一些用户可能会使用键盘来导航你的基于flexbox的网站,如果你HTML源码中元素的顺序和屏幕上显示的有所出入,那么无障碍访问的能力就成为需要认真对待的问题。...如何在Flexbox中对齐子项 Flexbox能非常直观地处理子项的水平对齐和垂直对齐。 你可以使用align-items对flex容器中的所有子项设置统一的对齐。

    3.2K20

    前端面试之CSS重点概念精讲

    你能所学到的知识点 ❝ 选择器 流、元素 盒模型 元素超出宽度...处理 元素隐藏 层叠规则 块级格式化上下文 元素居中 flex布局 Chrome支持小于12px 的文字 CSS 优化处理 (6个)...title]{}/[title="test"]{} 伪类选择器 前面有一个冒号(:)的选择器 :link :选择未被访问的链接 :visited:选取已被访问的链接 :active:选择活动链接 :hover...important ---- 流、元素 块级元素 常见的块级元素 li> 「块级元素和display为block的元素不是一个概念」 li>元素默认的display值是list-item...) text-overflow:ellipsis:当文本溢出时,显示省略符号来代表被修剪的文本 white-space:nowrap:设置文本不换行 overflow:hidden:当子元素内容超过容器宽度高度限制的时候...top:50% + transform: translateY(-50%) 「子绝父相」 + 子元素top:50% + 子元素负margin 元素定高 元素高度不确定 flexbox 行内元素-垂直居中

    2.4K30

    睡觉之后

    你不慌吗?...使用Flexbox的好处 flexbox的一些好处是: 页面元素能被任意方向地放置(靠左、靠右、从上往下甚至从下往上) 布局内容的可视顺序能够被反转或重排 元素大小能“弹性”适应可用空间,并根据容器或者兄弟元素进行相应地对齐...如此设置会让它的子元素变成“弹性项目(flex item)”。这些弹性项目拥有一些易于使用的默认属性。比如,它们被紧挨着放置,那些没有特别指明宽度的元素自动占满了剩余的空间。...然而,强大的能力也到来了更多的责任:谨记,一些用户可能会使用键盘来导航你的基于flexbox的网站,如果你HTML源码中元素的顺序和屏幕上显示的有所出入,那么无障碍访问的能力就成为需要认真对待的问题。...如何在Flexbox中对齐子项 Flexbox能非常直观地处理子项的水平对齐和垂直对齐。 你可以使用align-items对flex容器中的所有子项设置统一的对齐。

    1.4K10

    使用CSS Flexbox 构建可靠实用的网站 Header

    Flexbox 当 flexbox 应用于 Header 元素时,它将使所有子项目在同一行中。然后,你所需要做的就是应用justify-content来分配它们之间的间距。...Header 变化 1 image.png 假设我想要在导航链接旁边添加了一个按钮。这应该如何处理?我们应该把它作为链接添加到导航栏中吗?还是应该和导航分开?我更喜欢这样做。...你可能想到用 order 属性来解决这个问题 ?...我们需要确保导航链接的数量不会超过特定的限制。下面一个logo偏离中心的例子 ?: ? 正如在上图中看到的,logo没有居中。所以要记住这一点,以避免这种意想不到的问题 ?。...考虑以下标题 image.png 要做到上图的高亮间距,只需将gap: 1rem添加到flex父节点。没有了gap,我们还是需要用旧的方式来间隔 ?。

    1.7K30

    动手练一练,使用 Flexbox 创建一个响应式的表单

    大家好,今天我将和大家一起动手做个练习,使用 Flexbox 布局创建一个响应式的表单,本篇文章不会和大家啰啰嗦嗦的介绍 Flexbox 的知识点,介绍多了我也犯晕。...而是通过实践的形式去理解 Flexbox 布局。 刚学前端时,大家会不会觉得CSS太容易了,没有经过多实践,就开始上手实践JS和相关的前端框架了,一遇到一些样式的问题,就开始慌了,无从下手。...上述的值,你可以根据自己的需求自行修改 最终我们完成后的代码如下所示: .flex-outer > li > label, .flex-outer li p { flex: 1 0 120px;...通过以上学习,我们有两点需要明确的是: flex 布局为我们提供了极大的灵活性,让我们可以快速的构建漂亮表格。 上述CSS具体的值只是适用本示例,你可以根据自己的需求进行调整。...例如,我们这里的年龄复选框定义的宽度很小,才100px, 如果他们的宽度不同的话,你可以使用 flex: 1 100px 来定义宽度,弹性盒子能足够智能化的处理对齐问题。 ?

    90010
    领券