CSS未知宽高元素水平垂直居中
方法一 :table、cell-table
思路:显示设置父元素为:table,子元素为:cell-table,这样就可以使用vertical-align: center,实现水平居中
优点:父元素(parent)可以动态的改变高度(table元素的特性)
缺点:IE8以下不支持
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>.parent1{display: table;height:300px;width: 300px;background-color: #FD0C70;
}
.parent1 .child{display: table-cell;vertical-align: middle;text-align: center;color: #fff;font-size: 16px;
}</style>
<body><div class="parent1"><div class="child">hello world-1</div></div>
</body>
</html>
方法二:
思路:使用一个空标签span设置他的vertical-align基准线为中间,并且让他为inline-block,宽度为0
缺点:多了一个没用的空标签,display:inline-blockIE 6 7是不支持的(添加上:_zoom1;*display:inline)。
当然也可以使用伪元素来代替span标签,不过IE支持也不好,但这是后话了
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>
.parent2{height:300px;width: 300px;text-align: center;background: #FD0C70;
}
.parent2 span{display: inline-block;;width: 0;height: 100%;vertical-align: middle;zoom: 1;/*BFC*/*display: inline;
}
.parent2 .child{display: inline-block;color: #fff;zoom: 1;/*BFC*/*display: inline;
}</style>
<body><div class="parent1"><div class="child">hello world-1</div></div><div class="parent2"><span></span><div class="child">hello world-2</div></div>
</body>
</html>
方法三:绝对定位
思路:子元素绝对定位,距离顶部 50%,左边50%,然后使用css3 transform:translate(-50%; -50%)
优点:高大上,可以在webkit内核的浏览器中使用
缺点:不支持IE9以下不支持transform属性
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>
.parent3{position: relative;height:300px;width: 300px;background: #FD0C70;
}
.parent3 .child{position: absolute;top: 50%;left: 50%;color: #fff;transform: translate(-50%, -50%);
}
</style>
<body>
<div class="parent3"><div class="child">hello world-3</div></div>
</body>
</html>
方法四:弹性盒子flex
思路:使用css3 flex布局
优点:简单 快捷
缺点:兼容不好吧,详情见:http://caniuse.com/#search=flex
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>
.parent4{display: flex;justify-content: center;align-items: center;width: 300px;height:300px;background: #FD0C70;
}
.parent4 .child{color:#fff;
}
</style>
<body>div> <div class="parent4"><div class="child">hello world-4</div></div>
</body>
</html>
更多专业前端知识,请上 【猿2048】www.mk2048.com
CSS未知宽高元素水平垂直居中相关推荐
- 未知宽高div水平垂直居中的3种方法
方法一 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8& ...
- 未知宽高盒子水平垂直居中方法
1.用css3提供的transform属性 上代码 .wrap{width: 400px;height: 400px;background-color: red;position: relative; ...
- 未知宽高元素的水平垂直居中
大致有4种方法实现: 一.table布局(display:table) 二.绝对布局(position:absolute)+translate 三.转化 ...
- CSS中实现div元素水平垂直居中
常用7种实现水平垂直居中方法: 1.行内元素水平垂直居中 2.绝对定位 + margin 3.绝对定位+margin:auto 4.绝对定位 + translate 5.flex 布局 6.flex+ ...
- 已知/未知宽高的浮动元素水平居中对齐 和 图片水平垂直居中对齐
一.已知宽高的浮动元素水平垂直居中对齐 效果: 样式CSS: 1 <style> 2 .parent{ 3 position:relative; 4 border:2px solid #0 ...
- CSS Transform让百分比宽高布局元素水平垂直居中
CSS Transform让百分比宽高布局元素水平垂直居中 很早以前了解过当元素是固定宽度和高度的时候,水平垂直高居中的方法可以设置margin的负值来使其居中,这个负值是元素的宽和高的一半,比如宽高 ...
- css面试题实现元素垂直水平居中-包括未知宽高的元素五种回答
css实现元素垂直水平居中-包括未知宽高的元素 这个一道很经典的面试题,做项目中也常会出现这样的需求. 现在我就用几种比较常用的方法.兼容性也列出来. 第一种已知宽高(定位加负边距解决)兼容到IE6 ...
- CSS块元素水平垂直居中的实现技巧
针对之前遇到过的一些特殊样式的实现,我今天做个总结,目的有二:一是将这些方法记录下来,以便将来需要用到时查找使用.二为将这些大神们智慧的结晶发扬光大,让广大前端程序猿们能够少走弯路.此贴为更新帖,以后 ...
- 图片 + 未知宽高 + 垂直居中
图片 + 未知宽高 + 垂直居中 第一种: table-cell / inline-block + vertical-align 条件: 容器宽高受图片默认宽高影响 html结构: <div&g ...
最新文章
- debian预装环境软件的设置
- 牛客第四次多校Maximum Mode
- 《springcloud超级入门》Spring Boot简介《五》
- 全互联+杜比影音ThinkPad X1 Carbon 2019全新上市
- Python序列之字符串
- H.264简单码流分析
- 利用Hibernate进行数据库的增删改查
- MySQL-快速入门(9)视图
- java1.8 ojdbc14.jar_ojdbc14_g.jar与ojdbc14.jar区别
- PADS2007pads9.2使用技巧
- 归并排序(MergeSort)
- OLED屏显和汉字点阵编码原理
- php mysql知识总结_Mysql数据库知识总结(看资料总结出来的)
- python爬虫入门案例day06:QianTu
- openwrt路由器安装Transmission软件包与web控制台(中文界面)
- 猴子吃桃问题之暴力解法
- K线图|K线图分析法简介 |K线图怎么看
- STL——SET操作与并交差
- 六边形格子地图的基本实现
- 2000-2020全要素生产率OP法+LP法+OLS和固定效应法三种方法合集含原始数据和计算过程Stata代码
热门文章
- 一种伪随机交织器的生成方法
- 荣耀v10Android9新功能,荣耀10、荣耀V10开启安卓9.0内测 日常领跑行业
- linux权限体系有哪些角色,详解Linux下系统权限
- html页面js遍历listview,javascript实现的listview效果
- Altium Designer导入pcb原件之后都是绿的
- python tkinter Listbox用法
- git冲突Please move or remove them before you can merge
- 连载《一个程序猿的生命周期》-2.城市校园生活
- 简单代码生成器原理剖析(一)
- JPDL3.1规范手册