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

当父元素和子元素具有不同的%宽度时,如何使子div居中

当父元素和子元素具有不同的百分比宽度时,可以使用以下方法使子div居中:

  1. 使用绝对定位和负边距:
    • 将父元素设置为相对定位(position: relative)。
    • 将子元素设置为绝对定位(position: absolute)。
    • 使用left: 50%将子元素的左边距设置为父元素宽度的一半。
    • 使用负边距(margin-left: -子元素宽度的一半)将子元素向左移动一半宽度。
    • 示例代码:
    • 示例代码:
  • 使用flex布局:
    • 将父元素设置为flex容器(display: flex)。
    • 使用justify-content: center将子元素水平居中。
    • 示例代码:
    • 示例代码:
  • 使用text-align属性:
    • 将父元素的text-align属性设置为center。
    • 示例代码:
    • 示例代码:

以上是三种常用的方法,可以根据具体情况选择适合的方法来实现子div居中。

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

相关·内容

前端知识点总结(html+css)(上)

常见块级元素、行内元素、行内块元素的特点和区别 块级元素 (常见的块级元素div,p,h,form,li) 一行显示一个; 宽度默认为容器的100%; 可以设置高度宽度内外边距 块级元素可以包含其他的块级元素和文本...(如div下可包含div) 行内元素(常见的行内元素a,span.img) 一行显示多个 宽度为内容的宽度 不可以设置高度和宽度 标签内一般不包含标签(如a标签内包含a标签) 行内块元素 行内块元素包含块级元素和行内元素的特征...属性和alt属性的区别 alt属性为了给不能看到图片的人提供文字说明,图片加载失败时 title属性可以实现鼠标悬停时提示的内容 css篇 学习css重点就是清楚的了解布局,给你一个页面,你能一眼知道这个页面如何布局...BFC原理(块级格式化上下文) 含义:是页面中的一块独立渲染区域,并有一套渲染规则。它决定了其子元素如何定位,以及其它元素的关系和相互作用。...设置为auto或者0时,后出现的覆盖前面的; 16.各种居中方案 参考文章juejin.cn/post/717980… 水平居中: 行内元素给父元素设置text-align:center 定宽:margin

36411

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

;淡紫色是子级,相对于父级居中的。...定宽块级元素水平居中(方法三) 当元素开启决定定位或者固定定位时, left 属性和 right 属性一起设置就会拉伸元素的宽度,在配合 width 属性与 margin 属性就可以实现水平居中。...定宽块级元素水平居中(方法四) 当元素开启决定定位或者固定定位时, left 属性和 transform 属性即可实现水平居中。...定位实现水平垂直居中方案(一) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 减去宽度/高度的一半 实现CSS代码如下: .parent { /* 1....定位实现水平垂直居中方案(四) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 通过 translate 反向偏移的方式,实现居中 实现 CSS 代码如下:

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

    ;淡紫色是子级,相对于父级居中的。...定宽块级元素水平居中(方法三) 当元素开启决定定位或者固定定位时, left 属性和 right 属性一起设置就会拉伸元素的宽度,在配合 width 属性与 margin 属性就可以实现水平居中。...定宽块级元素水平居中(方法四) 当元素开启决定定位或者固定定位时, left 属性和 transform 属性即可实现水平居中。...定位实现水平垂直居中方案(一) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 减去宽度/高度的一半 实现CSS代码如下: .parent { /* 1....定位实现水平垂直居中方案(四) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 通过 translate 反向偏移的方式,实现居中 实现 CSS 代码如下:

    4.2K30

    CSS布局(六) 对齐方式

    如果被设置元素为文本、图片等行内元素时,在父元素中设置text-align:center实现行内元素水平居中,将子元素的display设置为inline-block,使子元素变成行内元素 ?...(2)块状元素的水平居中(定宽) 当被设置元素为定宽块级元素时用 text-align:center 就不起作用了。...(3)块状元素的水平居中(不定定宽) 在实际工作中我们会遇到需要为“不定宽度的块级元素”设置居中,比如网页上的分页导航,因为分页的数量是不确定的,所以我们不能通过设置宽度来限制它的弹性。...当不定宽块级元素的宽度不要占一行时,可以设置display 为 inline 类型或inline-block(设置为 行内元素 显示或行内块元素) ?...: 和水平居中一样,这里要讲垂直居中,首先设定两个条件即父元素是盒子容器且高度已经设定 场景1:子元素是行内元素,高度是由其内容撑开的 这种情况下,需要通过设定父元素的line-height为其高度来使得子元素垂直居中

    1.9K50

    第141天:前端开发中浏览器兼容性问题总结(二)

    1、 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;} 2、水平居中的问题 问题: 设置 text-align: center   ie6-...IE6 width为奇数,右边多出1px的问题 问题: 父级元素采用相对定位,且宽度设置为奇数时,子元素采用绝对定位,在ie6中会出现右侧多出1像素 解决: 将宽度的奇数值改成偶数 12....IE6 列表背景颜色失效的问题 问题: 当父元素设置position:relative;时,在ie6中第一个ul、ol、dl的背景颜色失效 解决:  ul、ol、dl 都设置为position:relative...2、减小第二个容器的宽度,使父容器宽度减去第二个容器宽度的值大于3 3、去掉所有的注释。 4、修正注释的写法。这里是注释内容子容器宽度大于父容器宽度时,内容超出 问题: 子DIV的宽度和父DIV的宽度都已经定义,在IE6中如果其子DIV的宽度大于父DIV的宽度,父DIV的宽度将会被扩展,在其他浏览器中父DIV的宽度将不会扩展

    1.9K21

    元素居中的多种实现方式!

    水平居中 行内元素的居中 被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的。...imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)div> 块状元素的居中 当被设置元素为 块状元素 时用 text-align...;inline-block默认宽度为内容宽度,然后给父元素设置text-align 优点:兼容性较好,甚至可以兼容IE6 缺点:子元素会继承父元素的text-align,使子元素里的内容也水平居中     div class="child">DEMOdiv>div> ---- 垂直居中 父元素高度确定的单行文本 通过设置父元素的height 和line-height...div> 父元素高度不确定的多行文本 table-cell + vertical-align 竖直居中的属性vertical-align,在父元素设置此样式时,会对inline-block

    97620

    前端开发中各类型居中方式总结

    前端开发中经常用到的就是元素居中,有时候不同的元素居中方式不同就忘记了,明明已经设置了居中,但却没有效果,搞得人很懵逼,还得去搜索一下,所以今天总结了一下,方便以后查用。...class="father"> div class="son">块级元素div> div> 未设置宽度: 默认子元素的宽度和父元素一样。...class="father"> div class="son">块级元素div> div> 此时,如果不设置高度和宽度,宽度将有子盒子内容撑开,高度和父盒子一致。...class="father"> div class="son">块级元素div> div> 水平垂直居中 _ 已知高度和宽度的元素 先设置子绝父相,然后给子元素设置:top: 0;...class="father"> div class="son">块级元素div> div> 未知高度和宽度的元素 1.子绝父相 设置父元素为相对定位,给子元素设置绝对定位,然后再给子元素设置属性

    59010

    前端面试之HTML && CSS

    box重叠 BFC是一个独立容器,容器里面的子元素不会影响到外面的元素 计算BFC的高度时,浮动元素也参与计算高度 元素的类型和display属性,决定了这个Box的类型。...不同类型的Box会参与不同的Formatting Context。 如何创建BFC?...的值不为visible BFC的使用场景 去除边距重叠现象 清除浮动(让父元素的高度包含子浮动元素) 避免某元素被浮动元素覆盖 避免多列布局由于宽度计算四舍五入而自动换行 让一个元素水平垂直居中 水平居中...margin: 0 auto; (2)绝对定位和margin-left: margin-left: (父width - 子width)/2, 前提是父元素position: relative 对于宽度未知的块级元素...margin实现自适应居中 弹性布局 flex :父级设置display: flex; 子级设置margin为auto实现自适应居中 父级设置相对定位,子级设置绝对定位,并且通过位移 transform

    4.4K10

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

    ) text-overflow:ellipsis:当文本溢出时,显示省略符号来代表被修剪的文本 white-space:nowrap:设置文本不换行 overflow:hidden:当子元素内容超过容器宽度高度限制的时候...,只需要考虑后代元素 每个层叠上下文是自成体系的,当元素发生层叠的时候,整个元素被认为是在父层叠上下文的层叠顺序中 层叠上下文的创建(3类) 由一些CSS属性创建 「天生派」 「页面根元素天生具有层叠上下文...的值为absolute或fixed 应用场景 防止margin重叠 将位于同一个BFC的元素,分割到不同的BFC中 高度塌陷 --- 「计算BFC的高度时,浮动子元素也参与计算」 子元素浮动 父元素...当设置left、top为50%的时候,内部子元素为方块2的位置 设置margin为负数时,使内部子元素到方块3的位置,即中间位置 absolute + margin auto absolute +...0时(绝对弹性元素),此时相当于告诉flex-grow和flex-shrink在伸缩的时候不需要考虑我的尺寸 当设置为auto时(相对弹性元素),此时则需要在伸缩时将元素尺寸纳入考虑 align-self

    2.4K30

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

    从样式上看,具有 BFC 的元素与普通的容器没有什么区别;但是从功能上,具有 BFC 的元素可以看作是隔离了的独立容器,容器里面的子元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器没有的一些特性...3.3.2 BFC 可以包含浮动的元素 前面说过,父元素没有设置高度时,子元素的浮动会导致父元素表现为 0 高度,也就是说正常情况下父元素无法包含浮动的子元素。...如果父元素的宽度足以包含这两个子元素的宽度之和,则子兄弟元素和子浮动元素并排。如图: image.png 如果父元素的宽度不足以包含这两个子元素的宽度之和,则子兄弟元素会出现在子浮动元素的下面。...IFC 中是不可能有块级元素的,当插入块级元素时(如 p 中插入 div)会产生两个匿名块与 div 分隔开,即产生两个 IFC,每个 IFC 对外表现为块级元素,与 div 垂直排列。...水平居中:当一个块要在环境中水平居中时,设置其为 inline-block 则会在外层产生 IFC,通过 text-align 则可以使其水平居中。

    2.5K10

    寒假提升 | Day10 CSS 第八部分

    总结绝对定位的相对元素以及常见的解决方案 子绝父相 子元素绝对定位、 父元素相对定位 子绝父绝 子元素绝对定位 父元素绝对定位 子绝父固 子元素绝对定位 父元素固定定位 三....清除浮动 浮动的问题 – 高度塌陷 由于浮动元素脱离了标准流,变成了脱标元素,所以不再向父元素汇报高度 父元素计算总高度时,就不会计算浮动子元素的高度,导致了高度坍塌的问题 解决父元素高度坍塌问题的过程...,一般叫做清浮动(清理浮动、清除浮动) 清浮动的目的是 让父元素计算总高度的时候,把浮动子元素的高度算进去 如何清除浮动呢?...比如使容器的所有子项等分可用宽度/高度,而不管有多少宽度/高度可用。 比如使多列布局中的所有列采用相同的高度,即使它们包含的内容量不同。...flex container flex container 里面的直接子元素叫做 flex item 当flex container中的子元素变成了flex item时, 具备一下特点: flex item

    1.2K20

    CSS布局解决方案(居中布局)

    :将子框设置为绝对定位,移动子框,使子框左侧距离相对框左侧边框的距离为相对框宽度的一半,再通过向左移动子框的一半宽度以达到水平居中。...当然,在此之前,我们需要设置父框为相对定位,使父框成为子框的相对框。...原理:通过将父框转化为一个表格单元格显示(类似 和 ),再通过设置属性,使表格单元格内容垂直居中以达到垂直居中。...将子框设置为绝对定位,移动子框,使子框上边距离相对框上边边框的距离为相对框高度的一半,再通过向上移动子框的一半高度以达到垂直居中。当然,在此之前,我们需要设置父框为相对定位,使父框成为子框的相对框。...+transform和垂直居中时的absolute+transform相结合。

    1.6K20

    前端面试题归类-css

    如何居中div-水平居中1:给 div 设置一个宽度,然后添加 margin:0 auto; 属性div{ width: 200px; margin: 0 auto;}-水平居中2:利用 text-align...它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。...当按百分比设定一个元素的宽度时,它是相对于父容器的宽度计算的,但是,对于一些表示竖向距离的属性,例如 padding-top , padding-bottom , margin-top , margin-bottom...等,当按百分比设定它们时,依据的也是父容器的宽度,而不是高度。...100% 的区别width: 100% 会使元素box的宽度等于父元素的contentbox的宽度width: auto 会时元素撑满整个父元素,margin, border, padding, content

    1.6K40

    CSS 常见面试题速查

    选择器出现的次数 C 值为 类选择器 和 属性选择器 和 伪类 出现的总次数 D 值为 标签选择器 和 伪元素 出现的总次数 比较时,权重从左到右依次减小。...,来确定元素位置 如一个绝对定位元素的父级和祖父级都为 relative,会相对父级来产生偏移 fixed 指定元素相对于屏幕视口(viewport)的位置来指定元素位置 元素的位置在屏幕滚动时不会改变...,并有一套渲染规则,决定其子元素将如何定位,以及和其他元素的关系和相互作用 即,它是一块独立的区域,让处于 BFC 内的元素与外部元素相互隔离 如何形成 根元素 position:fixed/absolute...因为子元素脱离了父元素的文档流,所以父元素失去了高度,导致了塌陷。要解决这个问题,就是让父元素具有高度。... # 盒模型 盒模型是什么 当对一个文档进行布局时,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型,将所有元素表示为一个个矩形的盒子 CSS 决定这些盒子的大小、位置以及属性

    91110

    CSS再学

    层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。...每个块级元素都从新的一行开始,并且其后的元素也另起一行。 2.  元素的高度、宽度、行高以及顶和底边距离都可设置。 3.  元素宽度在不设置的情况下,是它本身父容器的100%,除非设置一个宽度。...因此一个元素的实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右边界+右边框+右边界 填充: 元素内容和边框之间可以设置距离的,称之为“填充”。...css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。...且默认宽度不占满父元素。

    2K70

    CSS&HTML面经专题——(三)CSS定位盒模型经典布局浮动布局与BFC

    当出现滚动条时,对象不会随着滚动。 ---- center 与absolute一致,但偏移定位是以定位祖先元素的中心点为参考。盒子在其包含容器垂直水平居中。...它就像是relative和fixed的合体,当在屏幕中时按常规流排版,当卷动到屏幕外时则表现如fixed。该属性的表现是现实中你见到的吸附效果。...margin: 0 auto; 复制代码 子元素绝对定位和margin-left: -width/2, 前提是 父元素position: relative 对于宽度未知的块级元素 table... 复制代码 5、布局题:div垂直居中,左右10px,高度始终为宽度一半 子题目:(较简单)纯CSS实现一个长宽比始终为2:1的长方形。...父元素相对定位,那绝对定位下的子元素宽高若设为百分比,是相对谁而言的?

    2K31

    前端面试题2(CSS)

    ,不会和它的子元素发生margin折叠 元素自身的margin-bottom和margin-top相邻时也会折 介绍一下标准的CSS的盒子模型?...:checked 单选框或复选框被选中 如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?...给div设置一个宽度,然后添加margin:0 auto属性 div{ width:200px; margin:0 auto; } 居中一个浮动元素 //确定容器的宽高 宽500 高...视差滚动是指多层背景以不同的速度移动,形成立体的运动效果,具有非常出色的视觉体验 一般把网页解剖为:背景层、内容层和悬浮层。...例如,父级行高为 1.5,子元素字体为 18px,则子元素行高为 1.5 * 18 = 27px 百分比:将计算后的值传递给后代 设置元素浮动后,该元素的 display 值会如何变化?

    2.8K11

    前端常用布局方案总结

    定宽块级元素水平居中(方法三) 当元素开启绝对定位或者固定定位时,left 属性和 right 属性一起设置就会拉伸元素的宽度,在配合 width 属性与 margin 属性就可以实现水平居中。...定宽块级元素水平居中(方法四) 当元素开启决定定位或者固定定位时,left 属性和 tranfrom 属性即可实现水平居中。...定位实现水平垂直居中方案(方法一) 步骤如下: (1). 使子元素相对于容器元素定位; (2). 子元素开启绝对定位; (3). 设置该元素的偏移量,值为50% 减去宽度/高度的一半。...定位实现水平垂直居中方案(方法二) 步骤如下: (1). 使子元素相对于容器元素定位; (2). 子元素开启绝对定位; (3). 设置该元素的偏移量,值为50%; (4). ...使中间自适应的宽度为父级容器减去两个定宽的列。

    2.7K30

    弹性(Flex)布局的使用

    align-content: 当flex盒内元素具有多条轴的时候可以使用。默认的是stretch,即轴线占满整个交叉轴。...开发中遇到的问题 1、子元素被压缩 问题: 当设置子容器的长度flex为1时,其他的子容器的长度会被压缩。...解决方法: 设子容器width:0;可能出在于子容器没有设置宽度,省略符可能需要对父元素设置宽度,设置为100%无效,当设置为0的时候,子容器恢复到设定的宽度,省略号也出现了。...设置为0时,不会自动增长/缩小,防止固定大小的元素宽度发生变化。...解决方法: 列表外部使用div或其他盒子包裹,使用flex布局,每个子元素设置最小宽度或实际宽度,或者设width: 0。 ? 使用注意 弹性布局下每一个item默认是没有间隔的。

    2.1K10

    纯CSS实现拖拽--resize、scale、包裹性

    收缩与包裹 width 默认值为 auto,其有4种不同的表现: 充分利用空间: 的宽度默认是100%于父级容器的; 收缩与包裹:浮动、绝对定位(absolute、fixed)、inline-block...当 left/right、top/bottom 对立方位的属性同时存在时,宽度表现是“格式化宽度”,宽度大小相对于最近的具有定位特性(非static)的祖先元素计算。格式化宽度具有完全的流体性。...包裹性: 元素尺寸由内部元素决定,但永远小于“包含块”容器的尺寸。inline-block元素、浮动元素以及绝对定位元素都具有包裹性! 示例:文字少居中显示;文字超过一行居左展示。...开头示例中用到的地方: .picB { position: absolute; } 这里充分利用了包裹性,子元素 ('.resizeElement') 的变化会影响父元素 ('.picB') 的改变...从而实现操作子元素来实现父元素的切换。

    3.4K20
    领券