css 元素水平垂直方向居中
html部分
<div class="parent">
<div class="child">
- -居中- -
</div>
</div>
css部分
一、text-align:center;vertical-align:middde 实现
.parent{
width: 400px;
height:400px;
background:#666666;
text-align: center;
font-size: 0px;
}
.child{
font-size: 16px;
background: #ccc;
display: inline-block;
vertical-align: middle;
}
.parent:after{
content: '';
width:;
height: 100%;
display: inline-block;
vertical-align: middle;
}
/* .add{
width: 0;
height: 100%;
display: inline-block;
vertical-align: middle;
}*/
也可不用伪元素after,在child的div后面写一个span class为add的标签。
font-size:0px;解决当child元素内的字超过一行 垂直居中失效问题。
二 、 display:table-cell 实现
.parent{
width: 400px;
height:400px;
background:#666666;
display: table-cell;
text-align: center;
vertical-align: middle;
}
.child{
background: #cccccc;
display: inline-block;
}
转化为table元素。
三 、定位 top left right bottom margin:auto 实现
.parent{
width: 400px;
height:400px;
background:#666666;
position: relative;
}
.child{
width: 100px;
height: 100px;
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom:0px;
margin: auto;
background: #ccc;
}
子元素需设宽高,如果不设会和父元素同宽高。
四、定位 top left margin实现
.parent{
width: 400px;
height:400px;
background:#666666;
position: relative;
}
.child{
width: 100px;
height: 100px;
background: #cccccc;
position: absolute;
top: 50%;
left: 50%;
margin-left:-50px;
margin-top: -50px;
}
定位后 child的左上角在父元素的正中央,需要改变child的位置,让child和parent中心点在同一位置。
五、定位和css3 transfrom 实现
.parent{
width: 400px;
height:400px;
background:#666666;
position: relative;
}
.child{
background: #cccccc;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
translate(x,y) 的50%相对于自身来计算。
六、display:flex 弹性盒 实现
.parent{
width: 400px;
height:400px;
background:#666666;
display: flex;
justify-content: center;
align-items: center;
}
.child{
background: #cccccc;
}
默认flex-direction:row;是水平排列,
justify-content是主轴方向,此时相当于是X轴。
align-items:center;是交叉轴方向,此时相当于是Y轴。
若设置flex-direction:column;为竖直排列,
justify-content为Y轴,align-items为X轴。
display:-webkit-box!important;
overflow:hidden;
text-overflow:ellipsis;
-webkit-box-orient:vertical;
-webkit-line-clamp:3;
css 元素水平垂直方向居中的更多相关文章
- css3-7 如何让页面元素水平垂直都居中(元素定位要用css定位属性)
css3-7 如何让页面元素水平垂直都居中(元素定位要用css定位属性) 一.总结 一句话总结:元素定位要用css定位属性,而且一般脱离文档流更加好操作.先设置为绝对定位,上左都50%,然后margi ...
- CSS实现水平垂直同时居中的5种思路
× 目录 [1]水平对齐+行高 [2]水平+垂直对齐 [3]margin+垂直对齐[4]absolute[5]flex 前面的话 水平居中和垂直居中已经单独介绍过,本文将介绍水平垂直同时居中的5种思路 ...
- CSS实现水平垂直同时居中的6种思路
前面的话 水平居中和垂直居中已经单独介绍过,本文将介绍水平垂直同时居中的6种思路 水平对齐+行高 [思路一]text-align + line-height实现单行文本水平垂直居中 <style ...
- CSS 各类 块级元素 行级元素 水平 垂直 居中问题
元素的居中问题是每个初学者碰到的第一个大问题,在此我总结了下各种块级 行级 水平 垂直 的居中方法,并尽量给出代码实例. 首先请先明白块级元素和行级元素的区别 行级元素 一块级元素 1 水平居中: ( ...
- 小div在大div里面水平垂直都居中的实现方法
关于如何设置小盒子在大盒子里面水平垂直方向同时居中的实现方法有很多种,下面仅列举了常用的几种. 首先看一下要实现的效果图及对应的html代码: <div class="parent&q ...
- CSS 布局 - 水平 & 垂直对齐
CSS 布局 - 水平 & 垂直对齐 一.元素居中对齐 要水平居中对齐一个元素(如 <div>), 可以使用 margin: auto;. 设置到元素的宽度将防止它溢出到容器的边缘 ...
- CSS:CSS 布局 - 水平 & 垂直对齐
ylbtech-CSS:CSS 布局 - 水平 & 垂直对齐 1.返回顶部 1. CSS 布局 - 水平 & 垂直对齐 水平 & 垂直居中对齐 元素居中对齐 要水平居中对齐一个 ...
- Android RecyclerView(瀑布流)水平/垂直方向分割线
Android RecyclerView(瀑布流)水平/垂直方向分割线 Android RecyclerView不像过去的ListView那样随意的设置水平方向的分割线,如果要实现Recycle ...
- CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)
本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE ...
随机推荐
- [💯原]Javascript,我们来用js在网页中识别鼠标手势
觉得点击切换图片这样的方式不潇洒,鼠标手势呢?于是构思了一下识别鼠标手势的问题.自己去实现然后封装成了一个jquery插件.使用简洁. 下载地址: http://download.csdn.net/d ...
- c#网络加密传输
网上已经有很多测试,我就不多说了.先说说我的测试. 1.net framework 都应该合适. 2.RSACryptoServiceProvider类在.net core 下无法调用xml导出方法( ...
- 针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题
一.针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题 首先,我们先来了解一下authc登录拦截器工作原理 authc拦截器有2个作用: 1>登录认证 请求进来时 ...
- iPhone Plus手机的分辨率到底是多少,是1080×1920还是1242×2208?
近日在准备AppStore上架的时候,需要提供屏幕快照,苹果官方的要求是: 5.5寸的iOS设备的分辨率是:是1080×1920:然而我们如果找一张Plus的屏幕截图,会发现截图的分辨率是1242×2 ...
- Delphi 高效读写锁
本人设计了一个高效读写锁,可实现多个线程读一个线程写的锁,应该比Delphi自带的读写锁高效,本人没有做对比测试. 本文的锁不可以在一个线程里重入,否则会锁死,另外读写锁最多支持65535个线程同时读 ...
- 大数据学习--day14(String--StringBuffer--StringBuilder 源码分析、性能比较)
String--StringBuffer--StringBuilder 源码分析.性能比较 站在优秀博客的肩上看问题:https://www.cnblogs.com/dolphin0520/p/377 ...
- Python3 透明网桥算法
import time #定义网桥1 b1 = {} port_list1 = [1, 2] #主机列表 L1 = ['a','b','c'] L2 = ['d','e'] L = [L1,L2] d ...
- 20155318 2016-2017-2《Java程序设计》课程总结
20155318 2016-2017-2<Java程序设计>课程总结 每周作业链接 预备作业1:亦师亦友--我所期望的师生关系,对专业的认识与期望等 预备作业2:没有了自主,学习的小船说翻 ...
- 20155320 2016-2017-3 《Java程序设计》第三周学习总结
20155320 2016-2017-3 <Java程序设计>第三周学习总结 教材学习内容总结 定义类 步骤: 在程序中定义类 使用new关键词新建一个对象 声明参考名称,并将名称参考至新 ...
- OpenStack入门篇(三)之KVM介绍及安装
1.什么是虚拟化? 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般称 ...