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

CSS使子兄弟在100%宽度的父级中具有相同的宽度和高度(正方形)

要实现子兄弟在100%宽度的父级中具有相同的宽度和高度(正方形),可以使用CSS的flexbox布局和伪元素来实现。

首先,需要将父级容器设置为flex布局,通过设置display属性为flex,可以使子元素自动排列在一行或一列上。

然后,给父级容器设置宽度为100%。

接下来,给子元素设置flex属性为1,这样子元素会平均分配父级容器的宽度。

为了使子元素具有相同的高度,可以使用伪元素来撑开子元素的高度。给子元素添加::before伪元素,并设置content属性为空字符串,然后设置flex属性为1,这样伪元素会自动填充子元素的高度。

最后,为了使子元素呈现正方形的形状,可以通过设置padding-bottom属性为100%来实现。这样子元素的高度将与宽度相等。

以下是示例代码:

HTML:

代码语言:txt
复制
<div class="parent">
  <div class="child"></div>
  <div class="child"></div>
  <div class="child"></div>
</div>

CSS:

代码语言:txt
复制
.parent {
  display: flex;
  width: 100%;
}

.child {
  flex: 1;
  position: relative;
}

.child::before {
  content: "";
  display: block;
  padding-bottom: 100%;
}

/* 可以根据需要添加其他样式 */

这样,子兄弟元素就可以在100%宽度的父级容器中具有相同的宽度和高度(正方形)了。

关于CSS的flexbox布局和伪元素的详细介绍和用法,可以参考腾讯云的CSS Flexbox布局和CSS伪元素相关文档。

腾讯云CSS Flexbox布局文档链接:https://cloud.tencent.com/document/product/1212/45136

腾讯云CSS伪元素文档链接:https://cloud.tencent.com/document/product/1212/45137

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS布局(二) 盒子模型属性

盒子模型属性 宽高width/height   CSS,可以对任何块元素设置显式高度。   ...所以,普通元素margin百分比相对于块元素width,定位元素margin百分比相对于定位width margin可以设置为负值,margin宽高支持auto,以及margin具有非常奇怪重叠特性...; } 兄弟兄弟二  2、元素第一个或最后一个元素,父子margin重叠又叫margin传递 .box{ background-color...但实际上,它是很大作用, 所以,我们要善用重叠,可以列表项同时使用margin-topmargin-bottom。...这样,使页面结构更具有健壮性,最后一个元素移除或位置调换,都不会破坏原生布局 2.auto   只有width/heightmargin可以设置auto。

1.9K70

HTML+CSS高级

元素加上高度,让其视觉效果上呈现正常     --》扩展性不好,假如项目高度不固定(如瀑布流布局),此时没法由元素内容确定元素高度           2.2     给加浮动。    ...               解决办法1:元素宽度不超过3px           1.9     包不住relative                解决办法:针对IE6、7给加上...relative           1.10     IE6下绝对定位元素宽度是奇数,则该元素rightbottom有1px偏差                解决办法:避免宽度出现奇数...给元素加上高度,让其视觉效果上呈现正常     --》扩展性不好,假如项目高度不固定(如瀑布流布局),此时没法由元素内容确定元素高度           2.2     给加浮动。    ...relative           1.10     IE6下绝对定位元素宽度是奇数,则该元素rightbottom有1px偏差                解决办法:避免宽度出现奇数

5.8K61
  • 前端课程——浮动

    理解好文档流概念有助于学习CSS样式浮动定位两块内容。 将HTML页面元素自,上向下分成一行一行,并在每行按从左至右挨次排放元素,即为文档流。...当前元素设置浮动后,之影响当前元素后边元素 所有元素都设置为浮动的话,块元素排列顺序变为水平方向排列, 块元素浮动 块元素默认宽度高度 宽度元素宽度100% 高度是0或者所有后代元素高度之和...设置为浮动后 宽度默认是0或者所有后代元素宽度之和 高度默认是0或者所有后代元素高度之科 多个块元素都设置为浮动后->垂直方向排列变为水平方向排列 如果占满元素宽度100%后,会自动换行 内联元素...行内块元素 行内块元素设置为浮动后,元素之间空白间隙被取消 浮动特殊情况 之间浮动 为元素设置浮动不能超出元素范围(与元素浮不浮动无关) 兄弟同时设置浮动 如果兄弟关系两个元素...元素设置浮动 解决方案: 为设置高度(不推荐) 块级格式化上下文(BFC) 开启方式如下几种: 将元素设 置为浮动(元素CSS样式属性float值不为none ) 将元素

    88431

    掌握这些CSS知识点,Coding如飞!

    高度100%并未铺满屏幕 代码&效果:https://codepen.io/DYBOY/embed/RwoJKRP block类(包含块)是body,body未设置值时,height值为auto...如果任一长度为零,则角为正方形,而不是圆角。 水平半径百分比是指边框宽度,而垂直半径百分比是指边框高度。.../post/6960866014384881671 2.3.1 实例&解决方案 2.3.1.1 父子高度margin,margin-top无效 高度塌陷 代码&演示:https://codepen.io...line-height高度,line-height规定是行高最小高度 line-height是相对单位时,line-height具有继承性,其元素如果没有设置line-height,那么子元素行高为元素计算所得行高值...七、CSS选择器 7.1 通用选择器 .a.b:(无空格)当ab同一标签类名同时出现才选择 .a .b:(有空格)选择a所有后代b .a>.b:(>)选择a子代b .a, .b:(,)a与b样式相同

    1K20

    【面试题】104道 CSS 面试题,助你查漏补缺(下)

    无损压缩情况下,相同质量WebP图片,文件大小要比PNG小26%; •在有损压缩情况下,具有相同图片精度WebP图片,文件大小要比JPEG小25%~34%; •WebP图片格式支持图片透明度...对于普通文档流元素,百分比高度值要想起作用,其父必须有一个可以生效高度值。...CSS,“行距”分散在当前文字上方下方,也就是即使是第一行文字,其上方也是 有“行距”,只不过这个“行距”高度仅仅是完整“行距”高度一半,因此,也被称为“半行距”。...(5)每个层叠上下文是自成体系,当元素发生层叠时候,整个元素被认为是层叠上下文层叠顺序。 层叠上下文创建: (1)页面根元素天生具有层叠上下文,称为根层叠上下文。...元素设置左右padding,三列均设置向左浮动,中间一列放在最前面,宽度设置为元素宽度,因此后面两列都被挤到了下一行,通过设置margin负值将其移动到上一行,再利用相对定位,定位到两边。

    2.5K40

    104 道 CSS 面试题 - 知识点总结

    高度为0并且最小高度也为0,不包含常规文档流元素,并且自身没有建立新BFC元素margin-topmargin-bottommargin 合并3种场景: (1)相邻兄弟元素margin...解决办法:•设置块状格式化上下文元素(BFC) (2)第一个/最后一个元素margin合并。...第三种是高度为auto元素margin-bottom元素margin-bottom发生重叠。它们发生重叠一个是因为它们相邻,一个是因为元素高度不固定。...可维护性、健壮性: (1)将具有相同属性样式抽离出来,整合并通过class页面中进行使用,提高css可维护性。 (2)样式与内容分离:将css代码定义到外部css。...CSS,“行距”分散在当前文字上方下方,也就是即使是第一行文字,其上方也是有“行距”,只不过这个“行距”高度仅仅是完整“行距”高度一半,因此,也被称为“半行距”。

    4.3K10

    104道 CSS 面试题,助你查漏补缺

    高度为0并且最小高度也为0,不包含常规文档流元素,并且自身没有建立新BFC元素margin-top margin-bottom margin合并3种场景: (1)相邻兄弟元素margin...解决办法: •设置块状格式化上下文元素(BFC) (2)第一个/最后一个元素margin合并。...第三种是高度为auto元素margin-bottom元素margin-bottom发生重叠。它们发生重叠一个是因为它们相 邻,一个是因为元素高度不固定。...可维护性、健壮性: (1)将具有相同属性样式抽离出来,整合并通过class页面中进行使用,提高css可维护性。 (2)样式与内容分离:将css代码定义到外部css。...CSS,“行距”分散在当前文字上方下方,也就是即使是第一行文字,其上方也是 有“行距”,只不过这个“行距”高度仅仅是完整“行距”高度一半,因此,也被称为“半行距”。

    1.8K10

    104道 CSS 面试题,助你查漏补缺(下)

    无损压缩情况下,相同质量WebP图片,文件大小要比PNG小26%; •在有损压缩情况下,具有相同图片精度WebP图片,文件大小要比JPEG小25%~34%; •WebP图片格式支持图片透明度...对于普通文档流元素,百分比高度值要想起作用,其父必须有一个可以生效高度值。...CSS,“行距”分散在当前文字上方下方,也就是即使是第一行文字,其上方也是 有“行距”,只不过这个“行距”高度仅仅是完整“行距”高度一半,因此,也被称为“半行距”。...(5)每个层叠上下文是自成体系,当元素发生层叠时候,整个元素被认为是层叠上下文层叠顺序。 层叠上下文创建: (1)页面根元素天生具有层叠上下文,称为根层叠上下文。...元素设置左右padding,三列均设置向左浮动,中间一列放在最前面,宽度设置为元素宽度,因此后面两列都被挤到了下一行,通过设置margin负值将其移动到上一行,再利用相对定位,定位到两边。

    2.4K30

    CSS3 圆角边框 阴影 浮动详解

    CSS3 圆角边框、阴影、浮动详解 ---- 圆角边框: CSS3 ,新增了圆角边框样式,这样我们盒子就可以变圆角了。 border-radius 属性用于设置元素外边框圆角。...语法: border-radius:length; 参数值可以为数值或百分比形式 如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度一半即可,或者直接写为 50% 如果不是正方形,这种设置会生成一个圆角矩形...也就是说如果行内元素有了浮动,则不需要转换块/行内块元素就可以直接给高度宽度。...如果块盒子没有设置宽度,默认宽度一样宽,但是添加浮动后,它大小根据内容来决定 浮动盒子中间是没有缝隙,是紧挨着一起 1.6 浮动元素经常标准流搭配使用 为了约束浮动元素位置,我们页面布局一般采取策略是...: 先用标准流元素排列上下位置, 之后内部元素采取浮动排列左右位置.

    1.6K20

    CSS 基础系列:从清除浮动margin塌陷问题谈BFC

    元素高度塌陷情况:元素浮动后脱离了文档流,未设置高度元素形式上表现为 0 高度,设置了 clear:both 元素为了满足其左右两边没有浮动元素这个条件,只能自身下移,从而带动了元素高度撑开...如果元素宽度足以包含这两个子元素宽度之和,则兄弟元素浮动元素并排。如图: image.png 如果元素宽度不足以包含这两个子元素宽度之和,则兄弟元素会出现在浮动元素下面。...这是 W3C CSS2.1 规范一个概念。它是页面一块渲染区域,并且有一套渲染规则,它决定了其元素将如何定位,以及其他元素关系、相互作用。...除了最常见 CSS2.1 BFC IFC 之外,CSS3 还增加了 GFC FFC。 4.1.1 BFC: 前面已经说过了。... CSS2.1 ,有三种定位方案 ———— 普通流、浮动绝对定位,下面分别对这三种布局简略说明一下: 普通流(Normal flow) 普通流,盒一个接着一个排列; 块级格式化上下文里面,它们竖着排列

    2.5K10

    【愚公系列】2023年03月 其他-Web前端基础面试题(CSS_42道)

    38、为什么css放在顶部而js写在后面? 39、z-index属性什么情况下会失效 40、Flex 布局容器属性项目属性有哪些?...标准模式下盒模型:盒子总宽度/高度=width/height+padding+border+margin 怪异模式下盒模型下,盒子宽度高度是包含内边距padding边框border宽度在内...),而它所占据空间位置仍然存在,也即是说它仍然具有高度宽度等属性值。...重叠结果是什么? 外边距重叠就是 margin- collapseCSS,相邻两个盒子(可能是兄弟关系也可能是祖先关系)外边距可以结合成一个单独外边距。...解决:float去除,改为display:inline-block; 40、Flex 布局容器属性项目属性有哪些?

    3.1K20

    css必知几个底层知识技巧

    介绍完问题学习法之后,进入我们今天主题,接下来我会介绍css一些底层知识比较诡异现象,借此来让大家对css有更深入理解。...一.css尺寸 1.首选最小宽度–实现复杂图形效果 css,图片和文字权重远大于布局,因此当width:0时表现出来宽度就是“首选最小宽度”。...2.2.元素宽度设为100%时奇怪现象原理探究 元素宽度 = 图片宽度 + 文字内容宽度 浏览器渲染原理:先下载文档内容,加载头部样式资源,然后按从上到下、自外而内顺序渲染dom内容。...本例现象产生原因就是:当渲染到元素时,元素width:100%并没有渲染,宽度就是图片加文字内容宽度;等渲染到文字这个子元素时候,元素宽度已经固定,此时width:100%就是以固定好元素宽度...box尺寸时触发滚动条显示 2.margin合并条件 块元素,但不包含浮动绝对定位元素 默认文档流下只出现在垂直方向 margin合并三种场景 相邻兄弟元素 第一个/最后一个元素 *

    2.1K20

    【云+社区年度征文】2020一网打尽CSS世界

    css世界,内联元素极为重要,涉及css属性也非常多,这些属性往往具有继承特性! 内联盒模型.png 内容区域:只与字号字体有关,与行高无关!...>helloworld 包含块:如上述标签 幽灵空白节点:HTML5文档声明,内联元素所有解析渲染表现就如同每个行框盒子前面有一个“空白节点”,同时具有该元素字体行高属性...,就算元素width为auto,其百分比值也是支持;对于height属性,如果元素为auto,只要子元素文档流,其百分比值完全被忽略掉!...替换元素尺寸从内而外分为3类:固有尺寸(源本身宽度高度)、HTML尺寸(HTML标签widthheight属性)CSS尺寸(CSSwidhtheight以及max-/min-)其优先为...第一个/最后一个元素; 空块元素; margin合并意义:页面任何地方嵌套或直接放入任何裸,都不会影响原来块状布局。

    5K11

    【学习笔记】CSS3

    CSS3 说明 此笔记为本人学习遇见狂神说教程学习笔记,侵删。 快速入门 html文件 <!...img需要放在div) margin是顺时针,只有两个时,是上下左右 margin: 0 auto margin+border+padding+内容宽度 圆角边框 左上开始顺时针方向 貌似就顺着填...-- clear: []; right 右侧不允许有浮动元素 left both none --> 增加元素高度 增加一个空div标签,清除浮动 .clear{ clear: both; margin: 0; padding: 0; } overflow 元素增加一个 overflow...绝对定位 仍然基于xx定位 position: absolution 没有元素定位前提下,相对浏览器定位 元素存在定位,会相对于元素进行偏移 元素范围内移动(好像可以出去?)

    63630

    前端基础篇之CSS世界

    对于内联元素,width: auto则呈现出包裹性,即由元素宽度决定。 无论内联元素还是块元素,height: auto都是呈现包裹性,即高度元素撑开。...但是元素设置height: auto会导致元素height: 100%百分比失效。 流体布局之下,块元素宽度width: auto是默认撑满元素。...css选择器权重列表如下: ? css,!important权重相当高,但是由于宽高会被max-width/min-width覆盖,所以!important会失效。 width: 100px!...: 0 -100px; } 此时div元素宽度是比元素宽度大200px。...块元素垂直方向会发生margin合并,存在以下三种场景: 相邻兄弟元素之间margin合并; 元素margin-top元素margin-top,元素margin-bottom元素margin-bottom

    2.1K50

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

    padding border 值 更改盒模型 CSS box-sizing 属性定义了引擎应该如何计算一个元素「总宽度高度」 box-sizing: content-box|border-box...❞ CSS3,z-index已经并非只对定位元素有效,flex盒子元素」也可以设置z-index属性。...,只需要考虑后代元素 每个层叠上下文是自成体系,当元素发生层叠时候,整个元素被认为是层叠上下文层叠顺序 层叠上下文创建(3类) 由一些CSS属性创建 「天生派」 「页面根元素天生具有层叠上下文...」--正确解法是把子元素z-index设置为负数,这样元素是一个块元素,z-index<0 元素会在块元素之下,就可以实现我们想要效果。...值为absolute或fixed 应用场景 防止margin重叠 将位于同一个BFC元素,分割到不同BFC 高度塌陷 --- 「计算BFC高度时,浮动元素也参与计算」 元素浮动 元素

    2.4K30

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

    作者:一碗周 本文已授权转载于:https://juejin.cn/post/7028962991345254407 对 CSS 布局掌握程度决定你Web开发开发页面速度。...使中间自适应宽度容器减去两个定宽列 */ width: calc(100%-400px); } .right { /* 2....使中间自适应宽度容器减去两个定宽列 */ width: calc(100%-400px); /* 3....使用calc函数实现 使用 calc 函数实现方式会比较简单,中间容器最少高度为视口宽度100% - 头部底部两部分高度即可完成该功能。...实现CSS代码如下: .container { /* 这里 中间 部分容器最少为视口宽度 100% - 头部底部两部分高度即可完成该功能 */ min-height: calc

    4.2K30

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

    CSS 布局掌握程度决定你Web开发开发页面速度。随着Web技术不断革新,实现各种布局方式已经多得数不胜数了。...使中间自适应宽度容器减去两个定宽列 */ width: calc(100%-400px); } .right { /* 2....使中间自适应宽度容器减去两个定宽列 */ width: calc(100%-400px); /* 3....使用calc函数实现 使用 calc 函数实现方式会比较简单,中间容器最少高度为视口宽度100% - 头部底部两部分高度即可完成该功能。...实现CSS代码如下: .container { /* 这里 中间 部分容器最少为视口宽度 100% - 头部底部两部分高度即可完成该功能 */ min-height: calc

    4.2K30

    从零开始学 Web 之 CSS3(七)多列布局,伸缩布局

    CSS3布局方面做了非常大改进,使得我们对块元素布局排列变得十分灵活,适应性非常强,其强大伸缩性,响应式开发可以发挥极大作用。...space-between:最左边与最右边元素元素左右边对齐,中间元素平均分布,产生相同间距。 space-around:将盒子多余空间平均分布元素两边。...这时元素与元素之间间距是最左边最右边元素与元素间距2倍。 注意: 当所有元素宽度之和大于盒子宽度时,所有元素宽度会平均收缩,变窄,以适应盒子宽度。...(元素未设置高度时有效) baseline:以元素中文本基线对齐来来对齐*/ 问题: align-items 既然写在元素,是对所有元素侧轴方向对齐方式进行设置。...那么,能不能单独设置某个子元素侧轴对齐方式呢? 5、align-self (元素使用) 单独设置某个子元素侧轴对齐方式,属性值 align-items 相同

    4K10
    领券