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

在未知大小的父元素中设置居中

当提到在web设计中居中元素时。关于被居中的元素和它父元素的信息,你知道的越多就越容易设置。那么假如当你不知道任何信息?居中也是可设置的。...你可以 1)绝对定位待居中的元素 2)设置top:50%,left:50% 3)设置margin-top和margin-left为待居中元素高度和宽度的一半,并取负。(如下图所示) ?...1) 在待居中元素外 包裹table-cell,设置table-cell只是让table-cell中的元素在table-cell中居中。...2)table中在添加tr,td前要先添加tbody。 ---- 困难的:不知道子元素的宽高 当你不知道待居中子元素的尺寸时,设置子元素居中就变得困难了。 ?...最好的做法是在父元素中设置font-size:0 并在子元素中设置一个合理的font-size。

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

    CSS入门指南-4:页面布局

    你可以把两个 标签写在两行,但这并不影响图片再浏览器中的显示效果,它们会并列出现在一行上。而且标签直接的空白(标记中的两个 ?...Amazon.com的页面采用的就是流动中栏布局,在各栏宽度加大时通过为内容元素周围添加空白来保持内容居中,而且现在的导航条会在布局变窄到某个宽度时收缩进一个下拉菜单中,从而为内容腾出空间。...布局的高度 多数情况下,布局中结构化元素(乃至任何元素)的高度是不必设定的。事实上,我甚至想告诉你根本不应该给元素设定高度。除非你确实需要这样做,比如在页面中创造一个绝对定位的元素。...如图所示,通过给外包装设定宽度值,并将其水平外边距设定为 auto,这个单栏布局在页面上居中了。随着向里添加内容,这一栏的高度会相应增加。...总结 这篇文章我们介绍了用浮动的有宽度的元素来创建多栏布局、如何让固定布局在页面上居中以及让它们在一定范围内可以伸缩。同时也了解了如何使用内部div在浮动元素中生成间距,而又不会改变布局的总宽度。

    2.2K10

    前端面试之HTML && CSS

    设置较小高度标签(一般小于10px),在IE6,IE7中高度超出自己设置高度。...BFC是CSS布局的一个概念,是一个独立的渲染区域,规定了内部box如何布局, 并且这个区域的子元素不会影响到外面的元素,其中比较重要的布局规则有内部 box 垂直放置,计算 BFC 的高度的时候,浮动元素也参与计算...的值不为visible BFC的使用场景 去除边距重叠现象 清除浮动(让父元素的高度包含子浮动元素) 避免某元素被浮动元素覆盖 避免多列布局由于宽度计算四舍五入而自动换行 让一个元素水平垂直居中 水平居中...元素浮动以后会脱离正常的文档流,所以文档的普通流中的框就变的好像浮动元素不存在一样。 优点 这样做的优点就是在图文混排的时候可以很好的使文字环绕在图片周围。...建立伪类选择器清除浮动 //在css中添加:after伪元素 .parent:after{ /* 设置添加子元素的内容是空 */ content: ''; /* 设置添加子元素为块级元素

    4.4K10

    前端面试题归类-css

    在我们的重置样式文件中一般也会重置这个属性,把box-sizing设置成border-box方便于排版。水平垂直居中不定宽高水平垂直居中?...就可以让子元素不定宽高水平垂直居中了。文字在垂直和水平方向重叠的两个属性分别是什么? 垂直方向:line-height。...要给居中元素一个宽度,否则无效该元素不可以浮动,否则无效BFC什么是BFC?BFC是W3C CSS2.1规范中的一个概念,在CSS3.0规范中已被修改为flow root。...解决浮动后塌陷问题:利用计算BFC的高度时,浮动元素也参与计算规则。解决垂直margin重叠问题:利用Box垂直方向的距离由margin决定。...(一般小于10px),在IE6,IE7中高度超出自己设置高度。

    1.6K40

    用CSS实现居中的总结

    行内或者行内块元素居中 1.单行竖直居中 给行内元素添加上下相同大小的padding值即可 设置元素的line-height等于父容器的高度,也可以竖直居中 使用弹性盒子Flex后,设置align-items...; vertical-align:middle; } 2.多行文字竖直居中 设置padding值仍然适用 若要使用vertical-align属性来垂直居中,可以将父容器设置为table,需要居中的元素...使用弹性盒子Flex后,设置justify-content为center 块元素居中 1.竖直居中 使用定位,若是浮动的元素需要一个多余的元素来包裹要居中的元素,需要设置position:relative...使用定位,若是绝对定位的元素,在宽度已知时,先绝对定位top:50%,利用margin为负值的特性向左移动自身宽度的一半。若宽度未知,可使用transform:translateY(-50%)实现。...2.HACK的全兼容全居中代码 IE8+、火狐谷歌等现在浏览器中可以用display:table-cell来进行居中,而font-size的方法则适用于IE6和IE7,结合这两者的代码如下: .parent

    739120

    web前端开发初学者十问集锦(2)

    1.html中行内元素可以设置宽高吗? 行内元素(如a标签),在文档流中的时候因为是行内元素所以无法设置宽高;而当设置了绝对定位或者浮动,会生成块级框(即变成块级元素),所以就可以设置宽高了。...此外,行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。但是,垂直内边距、边框和外边距不影响行内框的高度。...主要有两个影响, (1)浮动的框脱离文档的普通流,浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。可参见:CSS 浮动。 (2)在 CSS 中,任何元素都可以浮动。...浮动的元素水平居中: 不能对其父元素应用text-align:center;也不能对其使用margin:0 auto;这些都是无效的。 可以效仿上面浮动的元素垂直居中的方法。...当然,浮动的元素垂直居中也可以使用此方法,缺点就是多增加了一个wrapper。 10.CSS绝对定位之后为什么以浏览器窗口作为父元素呢?

    1.4K10

    剖析一些经典的CSS布局问题,为前端开发+面试保驾护航

    浮动布局简介:当元素浮动以后可以向左或向右移动,直到它的外边缘碰到包含它的框或者另外一个浮动元素的边框为止。元素浮动以后会脱离正常的文档流,所以文档的普通流中的框就变现的好像浮动元素不存在一样。...;还有一个就是inline-block在使用时有时会有空白间隙的问题 缺点 最明显的缺点就是浮动元素一旦脱离了文档流,就无法撑起父元素,会造成父级元素的高度塌陷。...设置为hidden 建立伪类选择器清除浮动(推荐) //在css中添加:after伪元素.parent:after{ /* 设置添加子元素的内容是空...: 100px; height: 100px;}//right是同理 四、布局题:div垂直居中,左右10px,高度始终为宽度一半 问题描述: 实现一个div垂直居中, 其距离屏幕左右两边各10px,...3.BFC渲染规则 (1)BFC垂直方向边距重叠 (2)BFC的区域不会与浮动元素的box重叠 (3)BFC是一个独立的容器,外面的元素不会影响里面的元素 (4)计算BFC高度的时候浮动元素也会参与计算

    1.2K20

    CSS水平和垂直居中技巧大梳理

    水平居中 行内元素的水平居中 text-align:center(在父元素中设置) 只对内联元素或行内块元素有效 需要放置于父元素中 块级元素的水平居中 margin: 0 auto; 只对块级元素有效...auto只有在块级元素设置了宽度width才有效(块级元素不设宽度默认就占整行了,所以是废话) auto无法实现块级元素的垂直居中,原因与CSS默认的高度计算规则有关,这里暂不深究。...垂直居中 行内元素的垂直居中 line-height: 父元素的高度;(在父元素中设置) 只对内联元素或行内块元素有效 需要知道父元素的高度 需要放置于父元素中 适用于垂直方向上只有一个需要居中的元素的情况...使用vertical-align需要了解文字的baseline和line-box等知识 水平垂直居中 浮动元素 使用position:relative; 具体方法与绝对定位的第1个和第2个方法类似,只不过把...第二种方式中,如果设定了浮动元素的高度,将会影响transform的具体值。

    84730

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

    (回答问题的小技巧,比如这个盒子水平垂直居中的问题,可以从项目说起,说我在项目中就经常会遇到需要元素居中的问题,一开始我总用...后来学习了好用的弹性布局...再后来逛博客比如掘金啊什么的,看到了什么什么方法...问题描述: 实现一个div垂直居中, 其距离屏幕左右两边各10px, 其高度始终是宽度的50%。同时div中有一个文字A,文字需要水平垂直居中。...元素浮动以后会脱离正常的文档流,所以文档的普通流中的框就变的好像不存在一样。...缺点 最明显的缺点就是浮动元素一旦脱离了文档流,就无法撑起父元素,会造成父级元素的高度塌陷。...(2) 防止浮动导致父元素高度塌陷 现有如下页面代码: <!

    2K31

    前端面试题2(CSS)

    规则如下: 两个或多个毗邻的普通流中的块元素垂直方向上的margin会折叠 浮动元素或inline-block元素或绝对定位元素的margin不会和垂直方向上的其他元素的margin折叠 创建了块级格式化上下文的元素...absolute; top:50%; /*父元素高度50%*/ margin-top: -150px; /*自身高度一半*/ } 未知高度的块级父子元素居中,模拟表格布局 缺点:IE67不兼容...非IE浏览器下,容器不设高度且子元素浮动时,容器高度不能被内容撑开。 此时,内容会溢出到容器外面而影响布局。这种现象被称为浮动(溢出)。...:hidden; 在IE6中还需要触发 hasLayout,例如zoom:1; 父元素也设置浮动 使用 :after 伪元素。...:top; 消除垂直间隙 可以在父级加 font-size:0; 在子元素里设置需要的字体大小,消除垂直间隙 把 li 标签写到同一行可以消除垂直间隙,但代码可读性差 overflow: scroll

    2.8K11

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

    作者:一碗周 本文已授权转载于:https://juejin.cn/post/7028962991345254407 对 CSS 布局掌握程度决定你在Web开发中的开发页面速度。...行内块级元素垂直居中 若元素是行内块级元素, 基本思想是子元素使用display: inline-block, vertical-align: middle;并让父元素行高等同于高度。...行内块级水平垂直居中方案 步骤如下: 容器元素行高等于容器高度 通过 text-align: center; 实现水平居中 将子级元素设置为水平块级元素 通过 vertical-align: middle...定位实现水平垂直居中方案(一) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 减去宽度/高度的一半 实现CSS代码如下: .parent { /* 1....Flex方案 实现步骤如下 开启 flex 布局 将子元素布局方向修改为垂直排列 设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部 设置中间部分容器高度为自适应 实现CSS代码如下:

    4.2K30

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

    对 CSS 布局掌握程度决定你在Web开发中的开发页面速度。随着Web技术的不断革新,实现各种布局的方式已经多得数不胜数了。...行内块级元素垂直居中 若元素是行内块级元素, 基本思想是子元素使用display: inline-block, vertical-align: middle;并让父元素行高等同于高度。...行内块级水平垂直居中方案 步骤如下: 容器元素行高等于容器高度 通过 text-align: center; 实现水平居中 将子级元素设置为水平块级元素 通过 vertical-align: middle...定位实现水平垂直居中方案(一) 步骤如下: 使子元素相对于容器元素定位 子元素开启绝对定位 设置该元素的偏移量,值为50% 减去宽度/高度的一半 实现CSS代码如下: .parent { /* 1....Flex方案 实现步骤如下 开启 flex 布局 将子元素布局方向修改为垂直排列 设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部 设置中间部分容器高度为自适应 实现CSS代码如下:

    4.2K30

    CSS3

    使用基础选择器在 HTML 中选择元素 标签选择器 。...所以就引入了浮动。 ---- 结构伪类选择器 根据元素在HTML中的结构关系查找元素,查找某父级选择器中的子元素.... 效果: 现在运用到前端中,就需要让两个div一个在左端,一个在右端 特点:类似于图层的概念,脱离了标准流,像两张卡片,叠放在一起,不会影响原标签,一行可以有多个,可以设置宽高...(行内块) 下一个浮动会挨着上一个浮动 浮动标签的margin: 0 auto;居中失效,但可外面嵌套div实现 ---- 清除浮动 作用:清除浮动带来的影响 场景:父盒子不方便设置高度,子孩子有多少内容展示多少...例如:a,input,span…… 2.浮动 可以让原本垂直布局的 块级元素变成水平布局,子元素嵌入进父元素上方,父元素内容环绕浮动子元素,上方有介绍,类似于图层的概念或微软word中图片环绕文字四周概念

    78090

    HTML & CSS页面布局之定位

    这才是设计浮动的初衷。 元素浮动后会带来两个问题,第一个是造成父元素的高度塌陷,padding和margin无效。第二个是被其他元素无视,出现元素相互覆盖的现象。...在使用绝对定位时有两个注意点:第一个是如果网页宽高较大时(大于浏览器可视区宽高),并且元素最终相对于body定位了,实际上它只是相对浏览器首屏的宽高进行偏移,而不是整个网页的宽高。...div{ width:500px; height:300px; margin:0 auto; /*auto,让浏览器决定*/ } 2,垂直居中 首先,如果父元素高度一定,...子元素是文本或图片等高度由内容撑开的行内元素,可以使用line-height属性让其垂直居中。...; } /*这样实现垂直居中的原理是:使父元素以表格的形式呈现,再利用vertical-align属性在表格中是设置单元格内容垂直对齐方式的特性,从而达到块级元素垂直居中的效果。

    5.5K10

    【CSS】课程网站头部制作 ⑤ ( 用户栏测量 | 用户栏代码编写 | 代码示例 )

    , 这两个元素都要垂直居中对齐 , 分别需要单独设置 ; 头像垂直居中对齐 , 需要使用 padding 内边距的方式设置 ; 文字垂直居中对齐 , 需要使用 内容高度 = 行高 的方式设置 ; 核心代码...放置在一行 ; 然后 , 设置用户栏头像 盒子样式 , 为其设置 6 像素 上下内边距 , 使得头像图片垂直居中 ; 整体 用户栏盒子 高度 42 像素 ; 头像图片宽高均为 30 像素 ; 头像.../* 用户栏盒子 */ .user { float: left; /* 高度 = 行高 垂直居中 */ height: 42px; line-height: 42px; /* 距离左侧 30...*/ button { border: none; } /* 设置总体背景 */ body { background-color: #f3f5f7; } /* 版心宽度 1200 像素 , 在浏览器中居中对齐...设置无序列表中的链接样式 */ .nav ul li a { /* 显示模式 块级元素 */ display: block; /* 高度 40 像素 , 总高度 42 像素 , 有 2 像素的下边框

    2.5K30

    CSS技巧和经验

    如何让单行文本在容器内垂直居中 #test { height: 25px; line-height: 25px; } // 只需设置文本的行高...如何清除浮动 方法1 #test { clear: both; } // #test为浮动元素的下一个兄弟元素 方法2 #test {...如何让已知宽高的容器在页面中水平垂直居中 方法1 #test { width: 200px; height: 100px; position: relative...如何让未知尺寸的图片在已知宽高的容器内水平垂直居中 #test { display: table-cell; /* vertical-align只支持内联(inline)元素或表格单元格...该方法优点在于结构简洁,不理想的地方:1.由于使用场景不同,负缩进的值可能会不一样,不易抽象成公用样式;2.当该元素为链接时,在非IE下虚线框将变得不完整;3.如果该元素被定义为内联级或者内联块级,不同浏览器下会有较多的差异

    2.4K70

    css布局 - 两栏自适应布局的几种实现方法汇总

    这种两列布局的样式是我们在平时工作中非常常见的设计,同时也是面试中要求实现的高频题。很有必要掌握以备不时之需: ?  整理了几种实现方法,当然,风骚的代码不止这几种能实现,欢迎各位的补充。...absolute实现关键点解析 父元素设置relative相对定位以限制图片的绝对定位、因为父元素的高度此时是需要文案高度撑开的,所以需要设置最低高度防止文案过少时父元素低于低于图片高度 图片使用...如果还想垂直居中, 右边文案此时只需要怪怪的空开左边图片宽度+间距的位置即可 可以让左边图片垂直居中:图片用上50%的top+marginTop的负高度一半。...;以实现垂直居中 图片固宽元素不需要特殊设置,宽高即可 流体文案设置flex:1;自动分配剩余空间。... css: /*不好意系,可以6到不用css*/ 哈哈哈~ table布局实现关键点解析 结构放到tbale中 两列分别放到两个td中,固宽的td

    1.9K20
    领券