CSS关于元素垂直居中的问题
今天碰到了一个问题,给一个父容器和一个子元素,子元素不定高和不定宽,怎么让子元素居中在父容器中,比如下段代码
方法1:
<div class="div1">
<div class="div2">
<p>this is a test!</p>
</div>
</div>
保证div2居中在div1中,想了下,CSS代码如下
*{
margin:;padding:;
}
.div1{
padding:20px 100px;
margin: 20px;
height: 600px;
width: 500px;
text-align: center;
border: 1px solid #ccc;
}
.div1:before{
content: ".";
height: 100%;
display: inline-block;
vertical-align: middle;
visibility: hidden;
}
.div2{
border: 1px solid gray;
display: inline-block;
vertical-align: middle;
}
可以利用 vertical-align:middle属性保证垂直居中,和父容器的text-align:center来保存水平居中,前面一个属性只能对display:inline-block有效,而且需要参照物,所以用
:before伪元素来实现。
方法2:
<div class="div1">
<div class="content">
<img src="" alt="">
</div>
</div>
实现上面的图片内容居中,可以用父容器的line-height来实现
.div1{
margin:20px;
line-height:500px;
text-align:center;
}
.content{
display:inline-block;
vertical-align:middle;
line-height:normal;
}
.content img{
max-width:100px;
}
上面的方法也可以实现不定高宽的内容居中,而且里面还可以加别的元素。
CSS关于元素垂直居中的问题的更多相关文章
- css设置元素垂直居中的几个方法
最近有人问我怎么设置元素垂直居中?我....(这么基础的东西都不会?我有点说不出话来), 不过还是耐心的教了他几个方法,好吧教完他们,顺便把这些方法整理一下 第一种:通过设置成为表格元素的方式来实现 ...
- Web前端 css实现元素垂直居中的常用方法
方法1:table-cell html结构: 1 2 3 <div class="box box1"> <span>垂直居中</spa ...
- 黄聪:用 CSS 实现元素垂直居中,有哪些好的方案?
1.不知道自己高度和父容器高度的情况下, 利用绝对定位只需要以下三行: parentElement{ position:relative; } childElement{ position: abso ...
- [CSS] 子元素垂直居中的两种方式
1. 多个子元素水平并排,IE10以下失效 display: flex; align-items: center; justify-content: center; 2.多个子元素竖直排列,这种方式会 ...
- 用 CSS 实现元素垂直居中,有哪些好的方案?
1.不知道自己高度和父容器高度的情况下, 利用绝对定位只需要以下三行: parentElement{ position:relative; } childElement{ position: abso ...
- css一个元素垂直居中的6种方法
方法一: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- css确定元素水平居中和垂直居中
---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当 ...
- [转]-CSS 元素垂直居中的6种方法
原文地址:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD ...
- CSS 元素垂直居中的 6种方法
利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可.本文收集了六种利用css进 ...
随机推荐
- oracle命令
oracle创建表空间: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[D:\oracle\oradata\Oracle9i\]也就是你要 ...
- linux shell 去掉文本处理中的双引号
cat aa.txt |sed 's/\"//g' 结果是:hello aa.txt "hello"
- hibernate执行session.createQuery(hql)时hql若有参数则报错
项目从Jboss换位Tomcat服务器,打开如下Hql都报错: SELECT COUNT(*) FROM SystemUser WHERE STATUS != -1 解决方法:在Lib中加入antlr ...
- blob storage第一次亲密接触
由于azure上各个云服务都是分开的,所以当一个地方生成文件后,我在别的地方想要读取他就变得困难,不过azure上面有解决方案,就是azure blob storage. 在现有的订阅账号下,新建一个 ...
- Python验证码识别处理实例(转载)
版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处http://blog.csdn.net/evankaka 一.准备工作与代码实例 1.PIL.pytesser.tesseract ...
- AngularJS学习---Routing(路由) & Multiple Views(多个视图) step 7
1.切换分支到step7,并启动项目 git checkout step- npm start 2.需求: 在步骤7之前,应用只给我们的用户提供了一个简单的界面(一张所有手机的列表),并且所有的模板代 ...
- iptables配置允许vpnserver(softether vpn)
防火墙配置 -A INPUT -p udp -m multiport --dport ,,,, -j ACCEPT
- unity3d 游戏插件 溶解特效插件 - Dissolve Shader
unity3d 游戏插件 溶解特效插件 - Dissolve Shader 链接: https://pan.baidu.com/s/1hr7w39U 密码: 3ed2
- XE3随笔12:TSuperTableString、TSuperAvlEntry
通过 ISuperObject.AsObject 可获取一个 TSuperTableString 对象. TSuperTableString 的常用属性: count.GetNames.GetValu ...
- linux下如何开启oracle服务和开启监听
su - oracle 切换到oracle用户模式下 sqlplus /nolog //登录sqlplus SQL> connect /as sysdba //连接oracle SQL&g ...