CSS垂直和水平居中

在css中,居中使用十分频繁。

居中分为水平和垂直居中

水平居中十分简单:

 body{
                background:#f90;
            }

body统一为这个颜色

 div {
                margin:0 auto;
                background:green;
                width:10em;
                text-align:center;
            }
 <div>
      hello world
 </div>

注意width是必须设定的,否则如果是块级元素(div)则会占用一行,没有什么居中可言,如果是行内元素(span)则会不起作用,也无居中可言

效果:

关于垂直居中,这个就有意思了,虽然使用不像水平那么多,但是要用到的时候确实比水平的复杂多了,根据《css权威指南》中代码(有改动):

这是行内元素:

b{
                position:absolute;
                left:0;
                right:0;
                top:0;
                bottom:0;
                height: 5em;
                margin:auto 0;
                background:silver;
            }
 <b>hello world</b>

效果:

注意到:灰色部分垂直居中了

经过分析,其中这几行是必备:

position: absolute;
top: 0;
bottom: 0;
height: 5em;
margin: auto 0;

首先元素必须为absolute,然后top,bottom同时设置为0,让元素既无法停靠在上边界,也无法停靠在下边界

另外注意:这里实现的垂直居中效果其实是用户代理(浏览器)补全margin实现的,也就是,因为,top,bottom都为0,而元素height只有5em,浏览器就自己补全了剩下的空白,是margin-top,margin-bottom填充了上下

然后与水平居中对应,垂直居中是height必备,否则会是这样的:

元素被top和bottom两个css属性拉伸了

(块级元素同理)

时间: 2024-08-05 11:17:11

CSS垂直和水平居中的相关文章

CSS中实现水平居中和垂直居中的方法

水平居中 1.使用text-align实现居中 将该属性值设置为center,这是文本居中,但它却能兼容大多数浏览器,所以在某些情况下也自然必不可少. 2.负外边距 首先,创建一个包含居中元素的容器,然后将其绝对定位于相对页面左边边缘50%的位置.这样,该容器的左外边距将从页面50%宽度的位置开始算起.然后,将容器的左外边距值设置为负的容器宽度的一半.这样即可将该容器固定在页面水平方向的中点. 3.组合使用自动外边据和文本对齐 因为文本对齐居中方式有着良好的向下兼容性,且自动外边距方式也被大多数

css 使元素水平居中

css使元素水平居中 1.对于行内元素的水平居中 给父元素设置text-align:center <div style="text-align:center;">居中显示</div> 2.定宽块状元素水平居中 <div style="width:200px;margin:20px auto;";>居中显示</div> 注:对于以上情况可以灵活应用 可以将元素设置 display:inline ,将其变为行内元素,再按照

css图片居中(水平居中和垂直居中)

http://www.51xuediannao.com/html+css/htmlcssjq/css_img_center.html css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍 css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 auto实现图片水平居中 利用margin: 0 auto实现图片居中就是在图片上加上c

CSS让div水平居中实例代码

CSS让div水平居中实例代码:在布局中,往往希望一个div是水平居中的,对于如何让div水平居中,稍有经验的人员都不成问题,只需要一句代码就可以搞定,但是初学者往往可能不清楚,废话不多说了,直接给出代码. .box { width:200px; height:200px; margin:0px auto; } 在这里必须要注意的是,div宽度必须要认为的设置,否则无法设置居中. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=

CSS布局:水平居中

原文:CSS布局:水平居中 前言 一直对CSS布局一知半解,这段时间打算定下心来好好学习一下,于是先从最简单的水平居中布局开始入手.下面以分页组件为实例来记录各种实现方式. common.css <style type="text/css"> ul,li{list-style:none;margin:0;padding:0;} body{ background:#888; font-size:14px; color:#F2F2F2; text-shadow:1px 0 0

CSS实现DIV水平居中和上下垂直居中

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>上下垂直居中 在线演示 DIVCSS5</title> <style> #main { position: absolute; width:400px; height:200px; left:50%; top:50%; margin-left:-200px; margin-top:

CSS导航菜单水平居中的多种方法

在网页设计中,水平导航菜单使用是十分广泛的,在CSS样式中,我们一般会用Float元素或是「display:inline-block」来解决.而今天主要讲解如何让未知宽度的元素居中,下面我们会列出几种方法来解决水平居中问题.当然这些方法不一定是用来解决导航菜单问题,还有其它类似情况也是可以使用的. 在线演示:Demo CSS导航菜单水平居中的多种方法: 方法1:display:inline-block 方法2:position:relative 方法3:display:table 方法4:dis

css确定元素水平居中和垂直居中

---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当然是因为不同类别元素的性质不同.所以我们先来了解下html的元素类别. 一.HTML元素分类 1)内联(inline)元素: <a>--锚点 <abbr>--缩写 <acronym>--首字母缩写(HTML5不支持,请使用<abbr>代替) <b>-

CSS垂直水平居中方法总结

在布局的时候经常能用到居中,在此总结一下 html结构: <div class="wrap"> <div class="content"></div> </div> 1.水平居中:margin:auto; .wrap{ width: 400px; height: 400px; background-color: lightblue; } .content{ width: 200px; height: 200px; ba