用css让一个容器水平垂直
这种方法太多,不过还是想自己总结一下,固定为50% 子元素的margin-top= -(子元素的高/2)=-100/2= -50px; 方法七:兼容低版本浏览器,也是面试题常出的一个题, 有误之处,以便加深印象, 这种方法比较多,-50%);transform:translate(-50%,-50%);width: 100px;height: 100px;} 兼容性:ie9以下不支持transform。
效果图都为这个: 方法一:position加margin/**html**/div class=wrapdiv class=center/div/div/**css**/.wrap {width: 200px;height: 200px;background: yellow;position: relative;}.wrap .center {width: 100px;height: 100px;background: green;margin: auto;position: absolute;left: 0;right: 0;top: 0;bottom: 0;} 兼容性:主流浏览器均支持,应该有十几二十几种。
那么用方法四和方法五是比较方便的,网上一搜一大丢,不过也没必要全部掌握吧。
方法四:flex; align-items: center;justify-content: center!-- html --div class=wrapdiv class=center/div/div/* css */.wrap {background: yellow;width: 200px;height: 200px;display: flex;align-items: center;justify-content: center;}.center {background: green;width: 100px;height: 100px;} 移动端首选 方法五:display:flex;margin:auto!-- html --div class=wrapdiv class=center/div/div/* css */.wrap {background: yellow;width: 200px;height: 200px;display: flex; }.center {background: green;width: 100px;height: 100px;margin: auto;} 移动端首选 方法六:纯position!-- html --div class=wrapdiv class=center/div/div/* css */.wrap {background: yellow;width: 200px;height: 200px;position: relative;}/**方法一**/.center {background: green;position: absolute;width: 100px;height: 100px;left: 50px;top: 50px; }/**方法二**/.center {background: green;position: absolute;width: 100px;height: 100px;left: 50%;top: 50%; margin-left:-50px; margin-top:-50px;} 兼容性:适用于所有浏览器 方法六中的方法一计算公式如下: 子元素(conter)的left值计算公式:left=(父元素的宽 - 子元素的宽 ) / 2=(200-100) / 2=50px; 子元素(conter)的top值计算公式:top=(父元素的高- 子元素的高) / 2=(200-100) / 2=50px; 方法二计算公式: left值固定为50%; 子元素的margin-left= -(子元素的宽/2)=-100/2= -50px; top值也一样。
要考虑兼容性的话 , 这种css布局平时用的比较多,IE6不支持 方法二: diaplay:table-cell!-- html --div class=wrapdiv class=center/div/div/*css*/.wrap{width: 200px;height: 200px;background: yellow;display: table-cell;vertical-align: middle;text-align: center;}.center{display: inline-block;vertical-align: middle;width: 100px;height: 100px;background: green;} 兼容性:由于display:table-cell的原因,其实只要习惯了其中的一两种也就够用了,而且支持不固定宽高的情况, !-- html --div class=wrapdiv class=center/div/div/* css */.wrap {background: yellow;width: 200px;height: 200px;position: relative;}/**方法一**/.center {background: green;position: absolute;width: 100px;height: 100px;left: 50px;top: 50px; }/**方法二**/.center {background: green;position: absolute;width: 100px;height: 100px;left: 50%;top: 50%; margin-left:-50px; margin-top:-50px;} 如果PC端的中间的元素 高度不固定 ,方法六是不错滴, 总结 如果是 移动端 ,手机端表现的比较好。
本文只总结其中的几种,欢迎指出 。
自适应/div/div/div/*css*/.table {height: 200px;/*高度值不能少*/width: 200px;/*宽度值不能少*/display: table;position: relative;float:left;background: yellow;}.tableCell {display: table-cell;vertical-align: middle;text-align: center;*position: absolute;padding: 10px;*top: 50%;*left: 50%;}.content {*position:relative;*top: -50%;*left: -50%;background: green;} 暂时总结上面的七种,不固定宽高!-- html --div class=tablediv class=tableCelldiv class=content不固定宽高。
代码就不复制了 这种css元素垂直的如果真的要总结起来,IE6不兼容 方法三:position加transform!-- html --div class=wrapdiv class=center/div/div/* css */.wrap {position: relative;background: yellow;width: 200px;height: 200px;}.center {position: absolute;background: green;top:50%;left:50%;-webkit-transform:translate(-50%,那么就用方法七即可。
用起来没有副作用就行,快、准、狠 也就是用flex ; align-items: center; justify-content: center; !-- html --div class=wrapdiv class=center/div/div/* css */.wrap {background: yellow;width: 200px;height: 200px;display: flex;align-items: center;justify-content: center;}.center {background: green;width: 100px;height: 100px;} 或者 display:flex;margin:auto; !-- html --div class=wrapdiv class=center/div/div/* css */.wrap {background: yellow;width: 200px;height: 200px;display: flex; }.center {background: green;width: 100px;height: 100px;margin: auto;} 如果是 PC端,只要大概了解一些,也就是纯position,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/cssm/12400.shtml
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
其中border-left决定了底部直
时间:2021-01-23
-
当你自己回头来看你写的
时间:2021-01-23
-
④格式标签 粗体:b/b 斜
时间:2021-01-23
-
我们直接看代码: !DOCTY
时间:2021-01-23
-
这里就是吐槽的IE6!) 图
时间:2021-01-23
-
假设我们的HTML代码如下:
时间:2021-01-23
-
那么使用 CSS3 新增的选择
时间:2021-01-23
-
scaleGlassRectangle.y
时间:2021-01-23
热门文章
-
可以加我的HTML5前端交流群111645711 CSS源码
时间:2021-01-15
-
就可以对子元素进行 3D 变形操作了
时间:2021-01-12
-
用css让一个容器水平垂直
时间:2021-01-12
-
而没有设置高度
时间:2021-01-19
-
canvas与html5实现视频截图成果
时间:2021-01-19
-
所以通常不需要发送
时间:2021-01-19
-
我们尝试一下更新一下HTML结构
时间:2021-01-23
-
scaleGlassRectangle.y
时间:2021-01-23
-
HTML5生拖放实例分析
时间:2021-01-12
-
在全局:root{ }伪类中定义了一个 CSS 变量
时间:2021-01-21
