css水平居中总结

前言

  看了好多篇帖子,发现没有一个能够直接让新手很快上手使用的居中布局。所以在此进行一番总结,也算是我对居中布局的一点点积累沉淀,同时也方便初学者们拿来即用。

一、元素分类

1.行内元素

行内元素,也就是内联元素,可以在一行内显示多个。注:元素的高度、宽度、顶部底部边距均不可设置,元素的高度和宽度就是它包含的文字或图片的高度和宽度。

行内元素有这些:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

当然有些时候可以通过以下代码变成块级元素:

display: block;

2.块级元素

块级元素,霸占一行,别的元素要另起行才可以。注:元素的高度、宽度、顶部底部边距可设置,元素宽度在不设置的情况下,是它本身父容器的100%。

块级元素有这些:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

同样的你也可以通过以下代码把块级元素变为行内元素:

display: inline;

3.内联块状元素简介

内联块状元素,和行内元素相似,都在可以显示在一行上。注:元素的高度、宽度、行高以及顶和底边距都可设置。

内联块状元素有这些:<img>、<input>

display: inline-block;

二、居中方法

a.使用左右外边距自适应方法:margin: 0 auto;    /*使用此方法需要变为内联块状元素*,且需要固定宽度*/

b.同样使用左右外边距方法:

width: 500px;
height: 30px;
position:relative;
margin-left: 50%;
left: -250px;        /*250px是元素的宽度除以2得到,且需要进行定位*/

c.父元素设置text-align: center;  /*使用此方法需要变为行内元素*/

d.对于宽度不确定的元素,可以在外层套上一个table标签,然后给table使用margin: 0 auto;来居中:

table{

  margin: 0 auto;

}

HTML代码:

<table>

<tbody>

<tr>

<td>

<div class="center">

   我想水平居中!

</div>

</td>

</tr>

</tbody>

</table>

e.对于宽度不确定的元素,给它和父元素进行定位,分别设置left: -50%和left: 50%,然后实现水平居中:

.father{
  position:relative;
  left:50%;
  width: 960px;
  height: 300px;
  background: yellow;
}
.children{
  height: 30px;
  background:#ccc;
  position:relative;
  left:-50%;
}

HTML代码:

<div class="father">
  <div class="children">aaaaaaaa</div>
</div>

时间: 2024-12-28 16:57:02

css水平居中总结的相关文章

css水平居中那点事

昨晚深夜写了css垂直居中那点事,今晚该写他的兄弟篇:css水平居中那点事了..…^^ 其实本来这两个可以连在一起写,可是为了不要搞混,为了让思路更清晰,最后决定还是分开来些比较好...这样以后也有利于自己重温~~ 一,text-align 为什么要第一个写text-align呢? 其实也没有为什么.....(别打我) 但text-align是一个很神奇的东西,在ie6中使用text-align会有惊喜 text-align是文本居中的意思,是使一个块级元素的行内内容对齐,所以正常来说,text

CSS水平居中

这里指的水平居中当然是说通过CSS来自动控制的,而不是说计算之后,设置一个位置来指定居中的. 一般情况下有三种实现方式: 在实现方式中,我们定义两个名词来方便后面的解说:out--包含需要被居中元素的那个容器,in--需要居中的元素. 1. text-align: center 设置out的text-align: center 保证in的display为inline 2. margin-left : auto; margin-right: auto 设置in的margin-left : auto

css水平居中,竖直居中技巧(二)

css水平居中,竖直居中技巧(二)===### 1.效果 ### 2.代码#### 2.1.index.html <!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="X-UA-C

css水平居中的各种方法

说到水平居中,大家可能觉得很简单啊,text-align:center 就OK了. 但是,有时候会发现这样写了也没出效果.原因是什么呢?  请往下看. 水平居中:分为块级元素居中和行元素居中 行内元素: 行内元素就是内联元素.例如<span>.<a>.<label>.<em>.<img>等.. 直接构建一个具有 ”text-align:center“样式的容器,那么里面包含的行内元素就会都居中了. <div style="text

CSS 水平居中和垂直居中

转自:http://www.cnblogs.com/fu277/archive/2012/09/13/2400118.html 1.水平居中 (1) 文本.图片等行内元素的水平居中 给父元素设置text-align:center可以实现文本.图片等行内元素的水平居中. (2) 确定宽度的块级元素的水平居中 通过设置margin-left:auto;和margin-right:auto;来实现的. (3) 不确定宽度的块级元素的水平居中 方法一: 使用table标签,table本身并不是块级元素,

CSS水平居中和垂直居中解决方案

一.CSS 居中 — 水平居中 DIV等标签本身没有定义自己居中的属性,网上很多的方法都是介绍用上级的text-align: center,然后嵌套一层DIV来解决问题.可是这个方法有时候完全不起作用,而且对于布局是非常不科学的方法.正确的的设置写法如下(对页面构造没有影响):div {margin-left: auto; margin-right: auto; }这句CSS居中的意思就是让div自己调整左右margin间隔的距离以达到水平居中的效果.有时候我们还可以简写为 div { marg

CSS 水平居中总结

水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中场景,今天我们就来看看怎么设置水平居中的. 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的.如下代码: html代码: <body> <div class="txtCenter">我是文本,哈哈,我想要在父容器中水平居中显示.</div> </body> css代码: <style> div.txt

CSS 水平居中

水平居中:行内元素解决方案 居中元素:文字.链接以及其它行内元素(inline或inline-*类型的元素,如inline-block,inline-table,inline-flex)解决方案:将inline元素包裹在一个display属性为block的父级元素中,如div.nav,设置父级元素属性text-align:center属性即可. HTML <div>文字元素</div> <nav>  <a href="">链接元素01&l

CSS——水平居中设置

一.行内元素 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的. 二.块状元素 当被设置元素为块状元素时用 text-align:center 就不起作用了,这时也分两种情况:定宽块状元素和不定宽块状元素. 满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的. 不定宽度的块状元素有三种方法居中(这三种方法目前使用的都比较多): 1.加入 table 标签 第一步:为需要设置的居中的元素外面加入