CSS布局——居中
参考文章1.CSS布局奇淫技巧之--各种居中 2.http://www.imooc.com/article/2235
1.行内元素水平居中text-align:center
对图片,按钮,文字等行内元素(display为inline或inline-block等)进行水平居中,可对元素或者父元素使用text-align:center
2.定宽块级元素水平居中margin: 0 auto;
.container{
width:500px; /* 元素设置定宽*/
height: 200px;
margin:0 auto;/*margin-left和margin-right设置为auto*/
background-color: aquamarine;
}
3.使用表格垂直水平居中
如果你使用的是表格的话,那完全不用为各种居中问题而烦恼了,只要用到 td(也可能会用到 th)元素的 align="center" 以及 valign="middle" 这两个属性就可以完美的处理它里面内容的水平和垂直居中问题了,而且表格默认的就会对它里面的内容进行垂直居中。如果想在css中控制表格内容的居中,垂直居中可以使用 vertical-align:middle,至于水平居中,貌似css中是没有相对应的属性的,但是在IE6、7中我们可以使用text-align:center来对表格里的元素进行水平居中,IE8+以及谷歌、火狐等浏览器的text-align:center只对行内元素起作用,对块状元素无效,需要设置display。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格居中</title>
<style type="text/css" >
body{
padding:0;
margin:0;
} .parent{
vertical-align: middle;
text-align: center;
width: 200px;
height:200px;
margin:0 auto;
background-color: pink;
}
.child{
display: inline-block;
width: 100px;
height: 100px;
background-color: deeppink;
}
</style>
</head>
<body>
<table >
<tr>
<td class="parent">
<div class="child"></div>
</td>
</tr>
</table> </body>
</html>
4.使用display:table;margin:0 auto;水平居中
.child{
display: table;
width: 100px;
height: 100px;
margin:0 auto;
background-color: deeppink;
}
5.使用display:table-cell垂直水平居中
对于那些不是表格的元素,我们可以通过display:table-cell 来把它模拟成一个表格单元格,这样就可以利用表格的居中特性。但是,这种方法只能在IE8+、谷歌、火狐等浏览器上使用,IE6、IE7都无效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>div居中</title>
<style type="text/css" >
body{
padding:0;
margin:0;
} .parent{
display:table-cell;
vertical-align: middle;
text-align: center;
width: 200px;
height:200px;
margin:0 auto;
background-color: pink;
}
.child{
display: inline-block;
width: 100px;
height: 100px;
background-color: deeppink;
}
</style>
</head>
<body>
<div class="parent">
<div class="child"></div>
</div> </body>
</html>
效果为
6.单行或多行文本的垂直居中
父元素高度确定的情况下,
单行文本设置父元素的height和line-height一致即可;
多行文本在使用vertical-align:middle的时候,由于对齐的基线是用行高的基线作为标记,故需要设置line-height或设置display:table-cell;
7.绝对定位垂直水平居中
此法只适用于那些我们已经知道它们的宽度或高度的元素。
绝对定位进行居中的原理是通过把这个绝对定位元素的left或top的属性设为50%,这个时候元素并不是居中的,而是比居中的位置向右或向左偏了这个元素宽度或高度的一半的距离,所以需要使用一个负的margin-left或margin-top的值来把它拉回到居中的位置,这个负的margin值就取元素宽度或高度的一半。
垂直水平居中
.parent{
position:relative;/*父元素相对定位*/
width: 500px;
height:300px;
background-color: pink;
}
.child{
position: absolute;
left:50%;
top:50%;
width: 300px;
height: 200px;
margin: -100px 0 0 -150px;/*margin-left为child宽度的一半,margin-top为child高度的一半*/
background-color: deeppink;
}
8.另一种绝对定位居中
此法同样只适用于那些我们已经知道它们的宽度或高度的元素,并且遗憾的是它只支持IE9+,谷歌,火狐等符合w3c标准的现代浏览器。
.parent{
position:relative;/*父元素相对定位*/
width: 500px;
height:300px;
background-color: pink;
}
.child{
position: absolute;
width: 300px;/*宽高需要固定*/
height: 200px;
left:;
right:;/*left和right必须配对出现来控制水平方向,top、bottom同理*/
top:;
bottom:;
margin:auto;/*这句也是需要的,0 auto水平居中,auto 0 垂直居中*/
background-color: deeppink;
}
9.flex布局垂直水平居中
flex布局语法和实例参考阮一峰的博文:Flex 布局教程:语法篇、Flex 布局教程:实例篇
.parent{
display:flex;
justify-content:center;
align-items:center;
width: 500px;
height:300px;
background-color: pink;
}
.child{
width: 300px;
height: 200px;
background-color: deeppink;
}
CSS布局——居中的更多相关文章
- CSS布局---居中方法
在web页面布局中居中是我们常遇到的情况,而居中分为水平居中与垂直居中 文本的居中 CSS中对文本的居中做的非常友好,我们是需要text-align, line-height 两个属性就可以控制文本的 ...
- CSS布局居中
1.把margin设置为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效.
- 【转】css布局居中和CSS内容居中区别和对应DIV CSS代码
原文地址:http://www.divcss5.com/jiqiao/j771.shtml css布局居中和CSS内容居中区别和对应DIV CSS代码教程与图文代码案例篇 对于新手来说DIV CSS布 ...
- CSS 布局实例系列(一)总结CSS居中的多种方法
使用 CSS 让页面元素居中可能是我们页面开发中最常见的拦路虎啦,接下来总结一下常见的几种居中方法吧. 1. 首先来聊聊水平居中: text-align 与 inline-block 的配合 就像这样 ...
- css布局之居中
CSS布局之居中 本文主要是介绍水平居中,垂直居中,还有水平垂直居中的方法 水平居中 1.行内元素水平居中 使用text-align:center;就可以实现行内元素的水平居中,但是记得要在父元素中设 ...
- 主流 CSS 布局(水平居中、垂直居中、居中 )
什么是布局 html 页面的整体结构或骨架 布局不是某个技术内容 而是一种设计思想 [ 布局方式 ] 水平居中布局 垂直居中布局 居中布局( 水平 + 垂直 ) 什么是水平居中布局 水平居中布局 元素 ...
- 界面设计技法之css布局
css布局之于页面就如同ECMAScript之于JS一般,细想一番,html就如同语文,css就如同数学,js呢,就是物理,有些扯远,这里就先不展开了. 回到主题,从最开始的css到如今的sass(l ...
- CSS 布局
近日开发中,总感觉页面布局方面力不从心.以前也曾学过这方面的内容,但是不够系统,因此我打算整理一下. 在web 页面中一般有 table 和 css+div 两种布局方式. 其中css+div 又分为 ...
- CSS布局(上)
CSS布局(上) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !import ...
随机推荐
- tengine-2.1.0 + lua + base64
参考:http://my.oschina.net/eduosi/blog/169606 安装 readline,lua 编译需要用到这个,centos 可以通过 yum 直接安装,如果不需要系统的,可 ...
- [LeetCode] Wildcard Matching 字符串匹配,kmp,回溯,dp
Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...
- Nginx+Keepalived实现站点高可用
http://seanlook.com/2015/05/18/nginx-keepalived-ha/ http://blog.csdn.net/conquer0715/article/details ...
- WCF 遇到的问题
1.只有项目的net版本2.0以上的才可以引用到wcf的类库 2.HTTP 错误 404.17 - Not Found 映射问题 WCF服务建立好,提示这个错误,缺少映射问题,要将应用程序池和项 ...
- MyBatis知多少(1)
SQL (Structured Query Language,结构化查询语言)己经存在很长一段时间了.自从第一次提出“数据可以被规范化为一组相互关联的表”这样的思想以来,已经超过35年了. 从那时起, ...
- linux常用
一.命令 1.查指令,man, info, /usr/share/doc/: 2.文档,nano lyp.txt: 3.谁在线,who: 4.数据同步写入硬盘,sync: 5.显示档案,ls: 6.目 ...
- FAQ: Machine Learning: What and How
What: 就是将统计学算法作为理论,计算机作为工具,解决问题.statistic Algorithm. How: 如何成为菜鸟一枚? http://www.quora.com/How-can-a-b ...
- java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例
本章介绍DataOutputStream.我们先对DataOutputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblog ...
- [Logstash]使用详解
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件. 本文针对官方文档进行翻译以及实践,希望有更 ...
- elasticsearch配置
配置文件详解1.0版 配置文件位于es根目录的config目录下面,有elasticsearch.yml和logging.yml两个配置,主配置文件是elasticsearch.yml,日志配置文件是 ...