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

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

但是,在处理具有大量细节和子元素的组件时,这可能会变得越来越复杂。 Margin- 外部间距 它用于在一个元素和另一个元素之间添加间距。...边距折叠 简而言之,当两个垂直元素有一个边距,并且其中一个的边距大于另一个时,就会发生边距折叠。 在这种情况下,将使用较大的边距,而忽略另一个边距。...因此,导航项的宽度取决于它们的内容。 以下是解决方案: 设置导航项的最小宽度 增加水平填充 在分隔符的左侧添加额外的边距 最简单更好的解决方案是第三种,即添加一个margin-left。...我在检查 Facebook 的新设计 CSS 时,首先注意到了这一点。 我们将内联样式div设置为width :16px, 它的唯一目的是在左边缘和包装器之间添加一个空间。...例如,根据视口宽度设置具有最小值和最大值的边距。 答案是肯定的! 我们可以。 最近,CSS 数学函数在 Firefox 75 中得到支持,这意味着它们在所有主流浏览器中都受 CanIUse 支持。

13.5K40

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

如果两个或多个元素很接近,那么用户就会认为它们以某种方式属于彼此。当对多个设计元素进行分组时,用户可以根据它们之间的空间大小来决定它们之间的关系。...但是,当处理具有许多细节和子元素的组件时,这会变得越来越复杂。 margin 外部间距 它用于增加元素之间的间距。...Just In Case Margin 我喜欢把这个叫做 “Just in case” margin,因为这就是字面意思。考虑一下下面的模型图。 ? 当元素靠近的时候,它们看起来并不好看。...这将最终导致一个令人毛骨悚然的代码。 间隔组件的挑战 现在你了解了间隔组件的概念,让我们深入研究使用它们时遇到的一些挑战。这是我想到的一些问题: 间隔组件如何在父级内部取其宽度或高度?...,但是我期待可以使用它们的用例。

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

    CSS 排版与正常流 —— 重学CSS

    在排版时候我们明明设置好这个盒子的宽度,但是最后加了 border 和 padding 就让盒子 "变大" 了。所以最后我们要反过来重新计算 width 属性来保证这个盒子是我们想要的宽度。 对!...这个时候当我们把外框的宽度增加的时候,就会发现这些 float 元素就会出现堆叠的现象。 !! 看到这里肯定很多同学说觉得 "这样排版不行呀,老板肯定不收货呀","UI 设计师肯定要吊打我们啦"。...当我们缩小宽度的时候,不够位置的元素就会自动换到下一行。...它们并不是把两个 margin 的空白都留出来。而是会让他们两个发生一个堆叠的这样的现象。最后叠出来的高度是跟最大的 margin 的高度相等的。...但是还是还是会出现 边距折叠 的现象,只是它们之间的距离变成了 30px,但是并不会变成 20+30+20 这样的效果。

    86221

    【CSS】1287- 一行 CSS 实现 10 种强大的布局

    我想让您知道,使用 place-items: center 会让此操作比您想象的容易。...但是,这次是水平尺寸(宽度)而不是垂直尺寸(高度)。...这些子元素的基本最小值为 150px ,最大值为 1fr ,这意味着在较小的屏幕上,它们将占据整个 1fr 宽度,当它们达到 150px 宽度时,它们将开始流到同一条线上。...对于这些卡片,它们被放置在 Flexbox 显示模式中,使用 flex-direction: column 将方向设置为 column。 这会将标题、描述和图像块放在父卡片内的垂直列中。...您可以看到,当我拉伸和收缩父尺寸时,这张卡片的宽度会增加到其最大限制点并减小到其限制最小点。然后它保持在父级的中心,因为我们已经应用了其他的属性来将它居中。

    4.7K20

    CSS进阶07-浮动Floats

    如果行盒被缩短到不能容纳任何内容,那么行盒将下移(其宽度会重新计算)直到可以容纳内容或不再有浮动。当前行中,任何在浮动盒之前的内容将重排到同一行中的浮动的另一侧。...其后的内容被格式化到浮动的右侧,从浮动所在的同一行开始布局。由于浮动的存在,浮动右侧的行盒缩短,但在浮动之后就恢复了它们“正常”宽度(即 p 元素创建的包含块的宽度)。该文档可能被格式化如下: ?...它可以被任何元素设置,但仅适用于生成非绝对定位盒的元素。该属性值具有如下含义: left 该元素生成一个浮动到左侧的块盒。...左浮动盒的右外边缘不可在其旁边的右浮动盒的左外边缘之右。右浮动元素亦是。 浮动盒的上外边缘不可高于其包含块的顶部。当浮动出现两个折叠外边距之间时,浮动会如同它有一个参与标准流的空匿名父块一样来定位。...第一种方法是把 B2 的顶部top和 F 的底部bottom齐平,即,放在 y= M1+H 。

    1.5K40

    Web前端知识(二)

    对于单选框和多选框来说,却没有把值传递过去 要想把值传递过去 必须设置value属性 若下拉选要想想在选中之后,带上一些值传递过去...假设,我想这页面上所有的div都共同拥有相同的样式该怎么办呢?...p>我是段落p> span="">p>我是段落p> body> 使用第二种方式虽然可以解决一部分的代码抽取问题,但是对于大型的网站来说,也是无法解决根本的问题,例如,一个网站有多个站点,每一个页面可能都会有相同的...,主要可以分为3大类 块级标签 独占一行的标签 能随时设置宽度和高度(比如div、p、h1、h2、ul、li) 行内标签(内联标签) 多个行内标签能同时显示在一行 宽度和高度取决于内容的尺寸(比如span...、a、label) 行内-块级标签(内联-块级标签) 多个行内-块级标签可以显示在同一行 能随时设置宽度和高度(比如input、button)

    78920

    三. CSS layout(布局)

    但是外边距会影响盒子的位置 一共有四个方向的外边距: margin-top 上外边距,设置一个正值,元素会向下移动 默认情况下设置margin-right不会产生任何效果 下外边距,设置一个正值...猩红的栀子开花时,枣树又要做小粉红花的梦,青葱地弯成弧形了……我又听到夜半的笑声;我赶紧砍断我的心绪,看那老在白纸罩上的小青虫,头大尾小,向日葵子似的,只有半粒小麦那么大,遍身的颜色苍翠得可爱,可怜。... 2.6 盒子模型 外边距的折叠 垂直外边距的重叠(折叠):相邻的垂直方向外边距会发生重叠现象 兄弟元素 兄弟元素间的相邻垂直外边距会取两者之间的较大值...行内元素的盒模型: 行内元素不支持设置宽度和高度(宽度高度由内容决定) 行内元素可以设置padding,但是垂直方向padding不会影响页面的布局 行内元素可以设置border,垂直方向的border...> 2.8 默认样式 默认样式: 通常情况,浏览器都会为元素设置一些默认样式,默认样式的存在会影响到页面的布局,通常情况下编写网页时必须要去除浏览器的默认样式(PC端的页面),选择一个

    2.2K40

    使用这些不太常用的 CSS 属性,让我在前端布局效率上,又提高了一个层次!

    作者:Ahmad shaded 译者:前端小智 来源:sitepoint 有很多CSS属性,有些人不了解,或者他们了解它们,但是忘记在需要时使用它们。...列表的 marker 属性 ? 这前,我还不知道每个li项旁边的默认小圆圈称为marker。...text-align 属性 随着CSS flexbox和 grid 的日益普及,初学者一般也是使用它们来居中文本,而不是使用text-align属性,但是,旧方法仍然有效。...object-fit属性是相当神奇且有用的。 当我第一次了解它时,它改变了很多事情,使我作为前端开发人员的生活更加轻松。 最近,我正在研究显示徽标网格的部分。...通过使用object-fit:contain,我可以控制徽标的width和height,并强制将图像包含在定义的宽度和高度中。??

    2.1K20

    CSS基础知识

    代码的前面(实际开发中也是这么写的)。感兴趣的小伙伴可以试一下,把它们调换顺序,再看他们的优先级是否变化。...下面代码是正确的: 三年级时,我还是一个span class="stress">胆小如鼠span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。... 而下面代码是错误的: 三年级时,我还是一个span id="stress">胆小如鼠span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。...span>的小女孩span>,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。...其实 :hover 可以放在任意的标签上,比如说 p:hover,但是它们的兼容性也是很不好的,所以现在比较常用的还是 a:hover 的组合。

    2.8K30

    CSS基础知识

    下面代码是正确的: 三年级时,我还是一个span class="stress">胆小如鼠span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。... 而下面代码是错误的: 三年级时,我还是一个span id="stress">胆小如鼠span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。...其实 :hover 可以放在任意的标签上,比如说 p:hover,但是它们的兼容性也是很不好的,所以现在比较常用的还是 a:hover 的组合。...如下面代码: p{color:red;} p{color:green;} 三年级时,我还是一个span>胆小如鼠span>的小女孩。...我要变成内联元素 内联元素特点: 1、和其他元素都在一行上; 2、元素的高度、宽度及顶部和底部边距不可设置; 3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

    1.3K20

    前端-CSS 最核心的几个概念

    span> 设置上面的样式是没用的。...+ padding-left + width + padding-right + border-right + margin-right 但是不同浏览器(你没有猜错,就是那个与众不同的浏览器)对宽度的诠释不一样...当我们设置 box-sizing: border-box;  时,border 和 padding 就被包含在了宽高之内,和 IE 之前的标准是一样的。...(2)该元素将变为块级元素,相当于给该元素设置了 display: block;(给一个内联元素,如 span> ,设置 absolute 之后发现它可以设置宽高了)。...(4)浮动之后,该元素的下一个兄弟元素会紧贴到该元素之前没有设置 float 的元素之后(很好理解,因为该元素脱离普通流了,或者说不在这一层了,所以它的下一个元素当然要补上它的位置)。

    84740

    使用这些 CSS 属性,布局效率又提高了一个层次!

    有很多CSS属性,有些人不了解,或者他们了解它们,但是忘记在需要时使用它们。其实,有时候我们用 JavaScript 来实某些交互,CSS 一个属性就能搞定了,这可以大大节约我们编码的时间。...大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。 列表的 marker 属性 ? 这前,我还不知道每个li项旁边的默认小圆圈称为marker。...text-align 属性 随着CSS flexbox和 grid 的日益普及,初学者一般也是使用它们来居中文本,而不是使用text-align属性,但是,旧方法仍然有效。...object-fit 属性 object-fit属性是相当神奇且有用的。 当我第一次了解它时,它改变了很多事情,使我作为前端开发人员的生活更加轻松。 最近,我正在研究显示徽标网格的部分。...通过使用object-fit:contain,我可以控制徽标的width和height,并强制将图像包含在定义的宽度和高度中。??

    2K20

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

    如果你的惯用策略就是按部就班地组合布局 —— 先把 A 元素放在这儿,好了,A 元素就位了,我再看怎么把 B 放在那儿 …… 那你没有挫败感才怪呢。...第三步:再画一些方框 我们想把头像图片放在左侧,其余元素放在右侧。你可能会根据刚刚探讨的行内和块级知识来推断,认为只要把右侧的元素都包裹到一个如 span 标签般的行内元素中,就完事大吉了。...在本例中,我们会设置一些嵌套的 Flex 容器,让该成行的成行,该成列的成列。 我们把外层容器(绿色方框)设置为列,蓝色方框设置为行,而红色方框中的元素排布在列中。 ?...我把左侧元素包进一个 div,并给元素们设置类名,便于应用 CSS 选择器。...当上下两个 margin 短兵相接时,数值大的 margin 会 “吃掉” 小的。详情参见 CSS 技巧:margin 坍塌。

    4.4K51

    css-浮动

    比如下图的img和span1构成一个行盒,剩下2个span和button构成另外一个行盒。当页面面积发生改变,每行的内容变化,行盒的内容也会变化。...当我们取消浮动,结果是div占据一整行,span不能设置宽高和内外边距。 ?...clear: left; 官方解释:要求该盒的top border边位于源文档中在此之前的元素形成的所有左浮动盒的bottom外边下方 不正经的理解:如果我前面有左浮动元素,我必须位于它的下方 clear...: right; 官方解释:要求该盒的top border边位于源文档中在此之前的元素形成的所有右浮动盒的bottom外边下方 不正经的理解:如果我前面有右浮动元素,我必须位于它的下方 clear:both...display: block; //生成的伪元素是内联元素,需要设置成块级元素来占位置啊 clear: both; //把这个元素清除浮动,放在父元素的最下方,把父元素撑开 } 使用:把.clearfix

    1.3K30

    html笔记

    --doctype,定义了当前html代码的版本(H5),必须放在最前面--> 的,当我上面代码中给他 设置right(右) 与 bottom(下) 的时候,他就 和绝对定位一样 会先跑道右下角,然后数值为 0 ,也就是右边和下面 不需要增加外边距 ,我设置页面高度为...: 2; } z-index 值越大 ,则会 显示到最上方 ,按照 z-index>代码顺序 的优先级排列 块级盒子居中 最简单的方法把盒子以父级为标准居中 满足条件:盒子指定宽度(width)、左右外边距设置为...就只设置一个值为auto,代表四个方向都为auto,上下已经被固定宽度所以不变,但是左右也是auto也是一样的效果 visibility可见性 visibility: hidden; /* 对象不可见...*/ visibility: visible; /* 对象可见 */ visibility属性设置为不可见,但是位置会保留 与display的none属性不同的是,visibility会保留隐藏的位置

    1.8K10

    使用原生开发高仿瑞幸小程序(三):完成 Layout 布局和为你推荐模块

    这样就实现了2:1的布局。 二 通过图片的宽度计算出图片的高度 我们需要六张图片,把它们放在云存储中。图片资源我放在了github中,github的地址会在文章末尾放出。在这里,它们的地址是: ?...其实就是表格中的“行”与“列”。它们除了有能设置占位比例的span属性,row还有能设置元素间间距的gutter属性。...点击时触发的click事件。...由于我们已经使用span属性分配了它们的宽度比例,所以每一个image的宽只需要设置100%就好,而它的高,我们会绑定在一个计算好的属性中。...他们的比例分别是18:4:2 我们知道col是垂直布局,所以放置价格的col中我们会放入两个view。我比较喜欢在view中放文字。 ? 至此,我们就完成了布局的分析。

    1.6K21
    领券