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

《CSS 世界》读书笔记-流与宽高

而在这些列举的块级元素中  元素默认的 display 值是 list-item, 元素默认的 display 值是 table,但是它们均是 “块级元素”,因为它们都符合了块级元素的基本特征...如果不指定宽高,默认会继承父元素的宽度,并且独占一行,即使宽度有剩余也会独占一行。例子中,宽度继承于父元素 body。 2. 高度一般以子元素撑开的高度为准,当然也可以自己设置宽度和高度。...比如像 div> 这样的块级元素,它们的宽度默认是包含与它们的父级容器宽度的 100%。 (2)收缩与包裹,fit-content。指的是父元素的宽度会收缩到和内部元素宽度一样。...之前讨论的块级元素和内联元素,当我们在谈论它们是在一行还是换行显示时,实际上是谈论的外在盒子。而内在盒子实际是负责了元素的宽高和内容。...{  width: 102px; } .first-div {  border: 1px solid; } 嵌套一层标签,父元素定宽,子元素因为 width 使用的是默认值 auto,所以会如水流般自动填满父级容器

1.8K20

CSS Grid 那些鲜为人知的内幕

– 生成内联级网格 ❝默认情况下,Grid 使用「单列」,并根据子元素的数量动态创建行。...容器高度固定 当我们将容器的高度固定后,在这种情况下,其内部项目的高度会「均分」容器高度。也就是当拥有多个项目时它们被分成大小相同的行。 4. 创建网格单元 默认情况下,Grid将创建单列布局。...随着容器宽度发生变化,当容器宽度小到一定程度,即第一列的宽度小于图像的设定宽度时,就会发生如下的变化。 基于百分比的列的宽度大小会按照容器宽度*N%变化,当列宽度小于图像宽度时,图像从列中溢出。...此时我们用gap来设置所有列和行之间添加了固定量的空间 看看在%和fr之间切换时会发生什么: 当使用基于%的列时,内容会溢出到网格父容器之外。这是因为%是使用总网格区域来计算的。...} 当我们将一个 DOM 节点放入网格父元素时,默认行为是它会跨越整个列,就像流式布局中的 div> 会横向拉伸以填满其容器一样。

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

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

    因此,导航项的宽度取决于它们的内容。 以下是解决方案: 设置导航项的最小宽度 增加水平填充 在分隔符的左侧添加额外的边距 最简单更好的解决方案是第三种,即添加一个margin-left。...考虑下面的模型: 当它们彼此靠近时,这些元素看起来并不好,我用 flexbox 构建它们,这种技术被称为“Alignment Shifting Wrapping”,我从 CSS Tricks 中了解到它的名字....element { display: flex; flex-wrap: wrap; } 当视口尺寸较小时,它们确实会在新行中结束, 见下图: 需要解决的是in-between设计状态,两个item...对于大型设计系统,不断为组件添加边距是不可扩展的。这最终将导致令人毛骨悚然的代码。 间隔组件的挑战 现在你已经了解了间隔组件的概念,让我们深入了解使用它们时的一些预期挑战。...我们是否应该根据父级的显示类型(Flex、Grid)来设置它们的样式 让我们一一解决上述问题。 调整间隔组件 可以创建一个接受不同变化和设置的元素。

    15.7K40

    Web前端进阶高薪必会的54个CSS重难点知识梳理(1)

    属性,并且不会独占一行,之后的内联对象会被排列在同一行内。...:50px;div> div> 5、min-width、max-width、width的包含(优先级)关系 属性的含义: min-width 限制元素的最小宽度 max-width...important 当浏览器缩小导致元素宽度小于 min-width 时,元素的 width 就会被 min-width 的值取代,浏览器出现滚动条来容纳元素。...当浏览器放大导致元素的宽度大于 max-width 时,元素的 width 就会被 max-width 值取代。...伪元素: 在内容元素的前后插入额外的元素或样式,但是这些元素实际上并不在文档中生成。它们只在外部显示可见,但不会在文档的源代码中找到它们,因此,称为“伪”元素。

    2.3K00

    CSS基础知识

    3.外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css ”为扩展名,在内(不是在标签内)使用标签将css样式文件链接到...h1{color:red;} span{color:red;} 层叠 层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的...如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。 a{display:block;} 块级元素特点: 1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。...(真霸道,一个块级元素独占一行) 2、元素的高度、宽度、行高以及顶和底边距都可设置。 3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。...div>我要变成内联元素div> 内联元素特点: 1、和其他元素都在一行上; 2、元素的高度、宽度及顶部和底部边距不可设置; 3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

    1.8K20

    59道CSS面试题(附答案)

    当然,初始化样式有时会对SEO产生一定的影响,但鱼和熊掌不可兼得,所以在力求影响最小的情况下初始化CSS。...例如div>都是块级元素,当显示这些元素中间的文本时,都将从新行中开始显示,其后的内容也将在新行中显示。 行内元素可以和其他行内元素位于同一行,在浏览器中显示时不会换行。...有些元素会在浮动元素的下方,但是这些元素的内容并不一定会被浮动的元素遮盖。当定位内联元素时,要考虑浮动元素的边界,围绕浮动元素放置内联元素。...IFC中是不可能有块级元素的,当插入块级元素时(如在p中插入div),会产生两个匿名块,两者与div分隔开,即产生两个IFC,每个IFC对外表现为块级元素,与div垂直排列。...(1)当两个相邻的外边距都是正数时,折叠的结果是它们两者中较大的值 (2)当两个相邻的外边距都是负数时,折叠的结果是两者中绝对值较大的值。 (3)当两个外边距一正一负时,折叠的结果是两者相加的和。

    6.3K50

    全栈之前端 | 4.CSS3基础知识之盒子模型学习

    块级元素(block-level elements):块级元素以块的形式显示在页面上,它们会独占一行,宽度默认是 100%。...内联元素(inline elements):内联元素以行的形式显示在页面上,它们不会独占一行,宽度由内容决定。...内联块状元素(inline-block elements):内联块状元素结合了块级元素和内联元素的特性,可以设置宽度、高度、内外边距等属性,同时以行的形式显示在页面上。...常见的内联块状元素有input、button等。 内联块状元素可以包含其他内联元素和文本,也可以和其他内联元素在同一行显示。... 执行结果: 知识点补充 1.CSS 外边距合并说明 CSS外边距合并(叠加)是指当两个相邻的元素之间存在外边距时,它们的外边距会合并为一个外边距的现象。

    99920

    重学前端之BFC、IFC、FFC、GFC

    作用及应用场景:解决外边距塌陷问题:在普通的文档流中,当两个相邻的块级元素上下排列,并且都设置了外边距时,它们之间的垂直外边距会发生合并(塌陷),取两者外边距中的较大值。...清除浮动影响:当父元素内部有浮动的子元素时,父元素的高度可能会塌陷(无法正确包裹住浮动的子元素)。利用 BFC 可以解决这个问题内联元素按照水平方向依次排列,当一行排不下时会进行换行处理,并且在垂直方向上,它们的对齐方式遵循一定的规则,比如基线对齐、顶部对齐、中部对齐等。...-文本排版:在处理一段包含多个内联元素(比如不同样式的文字、链接等混合在一起)的文本内容时,IFC 规则决定了它们如何在一行内排列以及垂直方向上的对齐情况。...内联块元素的排列处理:当内联块元素(display 属性值为 inline-block 的元素)参与到内联布局中时,也遵循 IFC 的规则,比如多个内联块元素组成的导航栏,它们在水平方向排列以及垂直对齐方面都受

    2.2K10

    【Web前端】HTML 列表和容器元素

    由于它们是有顺序的,因此使用 ​​​​​ 更为合适。 3. 列表的嵌套 无论是有序列表还是无序列表,都可以进行嵌套,以创建更复杂的结构。 代码示例: div>​​ 元素本身并没有特定的语义。由于它属于块级元素,浏览器会在其前后自动换行。当与 CSS 结合使用时,​​div>​​ 元素可以用来为大块内容设置样式属性。...每个 ​​div>​​​ 包含了相应的标题和内容,形成一个块状的视觉效果。 2. 内联元素 (​​​​) ​​​​ 元素是一种内联元素,可以作为文本的容器。​​...表格的样式也通过 CSS 进行了一定的优化,使其看起来更整洁。 说明: 当涉及到 ​​div>​​ 和 ​​​​ 的差异时,以下几点需要明确: 块级元素 vs....默认样式和布局: ​​div>​​ 元素的默认样式是块级显示,会以块的形式占用可用的空间。 ​​​​ 元素的默认样式是行内显示,它不会独占整行,仅占据其内容的宽度。

    69700

    【前端】CSS浮动详解

    什么是浮动属性(float) 浮动(float)属性用于将元素变成浮动元素,浮动元素会脱离标准流的控制(即"脱标"),它们移动到父级元素的左右边缘或与其他浮动元素相接。...浮动元素一行内显示并且顶部对齐 如果多个盒子都设置了浮动,它们会在一行内紧密排列,并且默认是顶部对齐的。 如果父级宽度装不下这些浮动的盒子,多出来的盒子会自动折行,形成新的排列。...浮动元素具有行内块元素的特性 无论原本的元素是什么类型,一旦设置为浮动,它就会具有类似行内块元素的特性。 块级元素默认宽度和父级一样宽,但如果浮动后,它的大小由内容决定,类似行内块元素。...浮动元素折行规则 当浮动元素的总宽度超过父级宽度时,浮动的元素会自动折行。 需要注意的是,折行的参考标准是左右两侧浮动元素的最小高度。...父元素的高度默认是由子元素撑开的,但当子元素浮动并脱离标准流后,父元素认为子元素不再存在,因此无法自动捕获其高度。这种情况就会导致父元素的高度塌陷,影响页面布局的完整性。

    73510

    【Web前端】常规流布局(补充)

    块级元素(Block-level Elements) 块级元素是指那些会在新的一行开始显示的元素。这些元素通常会占据父容器的整个宽度,直到遇到下一个块级元素或容器的边缘。...它们每个都在新的一行上显示,具有相同的背景色、边距和内边距。每个 ​​div​​​ 元素都占据了父容器的整个宽度,除非有其他元素阻止其占据更多空间。...它们显示在同一行中,与周围的文本混合在一起。即使这些 ​​span​​​ 元素具有背景色、边距和内边距,它们也不会影响其他行内元素的布局。...二、常规流布局的计算规则 在常规流布局中,元素的排列方式遵循以下规则: 块级元素的排列 从上到下排列: 块级元素会从上到下排列,每个块级元素的起始位置都会在新的一行上。它们的宽度默认是父容器的全宽。...它们的宽度和高度通常由内容决定。 行内换行: 当行内元素的总宽度超出父容器的宽度时,会自动换行。 三、实际应用中的常规流布局 在实际应用中,常规流布局经常用于创建简单的页面布局,如文章段落、列表等。

    46710

    Imooc之Html与CSS

    如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。 a{display:block;} 块级元素特点: 每个块级元素都从新的一行开始,并且其后的元素也另起一行。...(真霸道,一个块级元素独占一行) 元素的高度、宽度、行高以及顶和底边距都可设置。 元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。...>、、、、、 常用的内联块状元素有: 、 块级元素 块级元素特点: 1、每个块级元素都从新的一行开始,并且其后的元素也另起一行...(真霸道,一个块级元素独占一行) 2、元素的高度、宽度、行高以及顶和底边距都可设置。 3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。...实际上,块状元素都会以行的形式占据位置。如右侧代码编辑器中三个块状元素标签(div,h1,p)宽度显示为100%。 第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。

    8K20

    CSS清除浮动

    当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘: ? 当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。...如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”: ?...一个元素设置了浮动后,会影响它的兄弟元素,具体的影响方式较为复杂,这要视乎这些兄弟元素是块级元素还是内联元素: 1.若是块级元素会无视这个浮动的块框,也就是我们平时看到的效果——使到自身尽可能与这个浮动元素处于同一行...,导致被浮动元素覆盖,除非这些 div 设置了宽度,并且父元素的宽度不足以包含它们,这样兄弟元素才会被强制换行。...顶部深蓝色盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,big和small已经浮动了 总结一下: 1.当父元素不给高度的时候, 2.内部元素不浮动时会撑开 3.而浮动的时候,父元素变成一条线 4

    3.1K20

    【Web前端】剖析HTML 元素

    四、块级元素和内联元素 在HTML中,元素可以根据它们的显示特性分为两种主要类型:块级元素和内联元素。...1、块级元素(Block-level Elements): 特点: 每个块级元素通常会在新的一行上开始,占据父元素的整个宽度。 它们会创建一个“块”或“框”,用于结构化文档内容。...块级元素可以容纳内联元素和其他块级元素。 常见的块级元素: div>: 用于定义文档中的分区或节。 : 用于定义段落。  to : 用于定义标题。...Elements): 特点: 内联元素通常不会打断块级元素的排列,它们在同一行内显示,仅占据它们实际的大小空间。... 3、区别总结: 显示特性:块级元素通常占据整个父元素的宽度,而内联元素只占据它们需要的空间。 排列方式:块级元素通常会从新的一行开始,而内联元素在同一行内显示。

    82810

    Web前端最全面试宝典- CSS篇

    比较好的方式是哪一种? 1)父级div定义height。 2)结尾处加空div标签clear:both。 3)父级div定义伪类:after和zoom。...4)父级div定义overflow:hidden。 5)父级div定义overflow:auto。 6)父级div也浮动,需要定义宽度。 7)父级div定义display:table。...但是当display的属性值被设置为block时,元素会以块级元素( block-level elements)显示,而设置为inline时会以内连元素( inline elements)显示. display...display:inline inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。...假设你现在正用一台显示设备来阅读这篇文章,同时你也想把它投影到屏幕上,或者打印出来, 而显示设备、屏幕投影和打印等这些媒介都有自己的特点,CSS就是为文档提供在不同媒介上展示的适配方法 当媒体查询为真时

    1.6K10

    分享一些关于 CSS Grid 基础入门知识

    4div> div> 当我们在CSS中将父级div的display属性设置为grid或inline-grid时,父级div将成为一个网格容器。...和minmax()函数创建自适应布局,该函数根据屏幕大小设定最小宽度和最大宽度。...当屏幕宽度达到最小尺寸时,你将只有1列宽度为1fr。如果屏幕宽度太大,你将拥有许多宽度为200px的列。...它们之间没有区别,只是我们是在处理行而不是列。 网格间隔属性(grid-gap) 网格间隔属性grid-gap用于在父元素内设置列和行之间的间隔。...你可以在文本编辑器上尝试它们,以查看它们之间的区别。 网格项(Grid Items) CSS网格还有一些有用的属性,你可以将它们传递给网格容器的子元素,以便轻松设计复杂的网格布局。

    63330

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

    当我们在设计UI时以这种心态思考时,我们可以开始考虑组件的不同变体,这些组件依赖于它们的父宽度。 在下面的图中,请注意文章组件的每个变化是如何以特定的宽度开始的。...作为一名设计师,一开始考虑父级宽度可能有点奇怪,但这是未来的发展方向。我们为前端开发人员提供每个组件的细节和版本,他们可以使用它们。...我们可以根据当前的变化对它们进行排序,但所有的东西都有一个限制。有时,前端开发人员最好处理一个全新的组件,而不是使用容器查询创建变体。 考虑以下。...然后,如果容器宽度大于180px,将显示用户名。 另一个类似的用例是侧导航。我们可以切换导航项标签的位置,从在新行或旁边的图标。...当容器很小时,导航项标签是如何从一个新行切换的,当有足够的空间时,导航项标签是如何靠近导航图标的。 示例地址:https://codepen.io/shadeed/pe...

    3.1K30

    如何使用Grid中的repeat函数

    在下面的演示中,我们可以看到,在有足够空间的情况下,带有"auto"文本的 div 将在max-content时达到最大宽度,而 1fr div 则共享剩余空间。...当浏览器变窄时,"auto"列继续变窄,直到达到min-content阈值。 image.png 在上面的演示中,只有当每一列达到min-content阈值时,div 才会开始溢出容器。...image.png 每个 div 的宽度必须至少为 200px。如果右侧有额外空间(小于 200 像素),div 会展开以填充空间。...同样的情况也会反过来发生:当我们缩小浏览器时,一旦没有至少 200px 的空间可以容纳,行中的最后一个 div 就会进入下一行。一旦该 div 掉下去,其余的 div 就会展开以填满该行。...image.png 使用auto-fit功能时,浏览器也会为更多的 div 计算空间,但随后会将空间折叠为零宽度,并让现有的 div 展开以占据所有空间。

    1.9K30

    理解CSS | 青训营笔记

    具体来说,当一个HTML元素形成了BFC时,它会创建一个独立的渲染区域,在这个区域内的元素布局不会影响到外部元素。...具体来说,当一个HTML元素形成了IFC时,它会创建一个独立的渲染区域,其中内联元素会按照一定的规则进行水平方向的布局,同时也会受到特殊的处理,例如可以通过vertical-align属性来控制它们在垂直方向上的对齐方式...具体来说,每个层叠上下文由一组HTML元素和它们的子元素构成,并且这些元素按照一定的规则垂直地贴合在一起形成平面。在这个平面中,每个层叠上下文都有自己的层级关系,即z轴方向的顺序。...的元素 当一个元素形成了层叠上下文时,它就具有了一定的独立性和优先级,其子孙元素会在该元素内部形成自己的层叠关系,并且不会影响到其他元素。...当浏览器宽度小于 768px 时,第一个媒体查询将应用规则集中的样式,而当浏览器宽度大于或等于 768px 时,第二个媒体查询将应用规则集中的样式。

    66610
    领券