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

---恢复内容开始---

首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当然是因为不同类别元素的性质不同。所以我们先来了解下html的元素类别。

一、HTML元素分类

    1)内联(inline)元素:

      <a>--锚点

      <abbr>--缩写

      <acronym>--首字母缩写(HTML5不支持,请使用<abbr>代替)

      <b>--粗体(不推荐)

      <bdo>--可覆盖文本默认方向

      <big>--大字体(HTML5不支持,用CSS代替)

      <br>--换行

      <cite>--引用

      <code>--计算机代码

      <dfn>--定义字段

      <font>--字体设定(不推荐)

      <em>--强调(表现也为斜体,有语义)

      <i>--斜体(无语义)

      <img>--图片

      <input>--输入框

      <kbd>--定义键盘文(已废除,不推荐)

          <label>--表格标签

      <q>--短引用

      <s>--中划线(不推荐)

      <samp>--定义返利计算机代码

        <select>--项目选择(下拉选择框)

      <small>--小字体文本

      <span>--常用内联容器,定义文本内区块

      <strike>--删除线(用<del>代替)

      <strong>--粗体强调

      <sub>--下标

      <sup>--上标

      <textarea>--多行文本输入框

      <tt>--电传文本(HTML5不支持)

      <u>--下划线(不推荐)

      <var>--定义变量

    2)块状(block)元素:

      <address>--地址

      <blockquote>--块引用

      <center>--居中对齐块(HTML5不支持,用CSS代替)

      <dir>--目录列表

      <div>--常用块级元素      

      <dl>--定义列表

      <fieldset>--可将表单一部分内容打包(form)

      <form>--交互表单

      <h1>...<h6>--标题

      <hr>--水平分隔线

      <isindex>-input prompt

      <menu>--菜单列表

      noframes-frames--可选内容(对于不支持frame的浏览器显示此区块内容)

      <noscript>---可选脚本内容(对于不支持script的浏览器显示此区块内容)

      <ol>--排序列表

      <p>--段落

      <pre>--格式化文本(常用语粘贴代码)

      <table>--表格

      <ul>--非排序列表

    3)可变元素(即可根据上下文语境决定活该元素为块状或内联元素)

      applet - java applet

      <button>--按钮

      <del>--删除文本

      <iframe>-inline-frame--一些浏览器不支持frame,则可使用这个标签使其展现

      <ins>--插入的文本

      <map>--图片区块

      <object>--object对象

      <script>--客户端脚本

    区别:1)块级元素单独占一行,其宽度自动填满其父元素的宽度;行内元素不会单独占一行,相邻元素排列在同一行,除非一行排不下,会自动换到下一行,其宽度随内容

变化而变化

       2)块级元素可设置width,height,margin,padding属性;内联元素设置width,height无效,水平方向的padding-left,padding-right,margin-left,margin-right

       都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。(水平方向有效,竖直方向无效)

  二、利用CSS实现元素水平居中

    1)行内元素(被设元素为文本、图片等元素时):给父元素设置text-align:center;

    2)定宽块状元素:左右margin设为auto,eg:margin:0 auto;

    3)不定宽块状元素

    1. 为需设置举重元素外面加一个table标签(包括<tbody>\<tr>\<td>);为table设置左右margin值为auto
    2. 改变块状元素的display伪inline-block类型,然后使用text-align:center来实现居中
    3. 给父元素设置float,然后给父元素设置position:relative和left:50%,子元素设置position:relative和left:-50%来实现水平居中。

    

---恢复内容结束---

首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当然是因为不同类别元素的性质不同。所以我们先来了解下html的元素类别。

一、HTML元素分类

    1)内联(inline)元素:

      <a>--锚点

      <abbr>--缩写

      <acronym>--首字母缩写(HTML5不支持,请使用<abbr>代替)

      <b>--粗体(不推荐)

      <bdo>--可覆盖文本默认方向

      <big>--大字体(HTML5不支持,用CSS代替)

      <br>--换行

      <cite>--引用

      <code>--计算机代码

      <dfn>--定义字段

      <font>--字体设定(不推荐)

      <em>--强调(表现也为斜体,有语义)

      <i>--斜体(无语义)

      <img>--图片

      <input>--输入框

      <kbd>--定义键盘文(已废除,不推荐)

          <label>--表格标签

      <q>--短引用

      <s>--中划线(不推荐)

      <samp>--定义返利计算机代码

        <select>--项目选择(下拉选择框)

      <small>--小字体文本

      <span>--常用内联容器,定义文本内区块

      <strike>--删除线(用<del>代替)

      <strong>--粗体强调

      <sub>--下标

      <sup>--上标

      <textarea>--多行文本输入框

      <tt>--电传文本(HTML5不支持)

      <u>--下划线(不推荐)

      <var>--定义变量

    2)块状(block)元素:

      <address>--地址

      <blockquote>--块引用

      <center>--居中对齐块(HTML5不支持,用CSS代替)

      <dir>--目录列表

      <div>--常用块级元素      

      <dl>--定义列表

      <fieldset>--可将表单一部分内容打包(form)

      <form>--交互表单

      <h1>...<h6>--标题

      <hr>--水平分隔线

      <isindex>-input prompt

      <menu>--菜单列表

      noframes-frames--可选内容(对于不支持frame的浏览器显示此区块内容)

      <noscript>---可选脚本内容(对于不支持script的浏览器显示此区块内容)

      <ol>--排序列表

      <p>--段落

      <pre>--格式化文本(常用语粘贴代码)

      <table>--表格

      <ul>--非排序列表

    3)可变元素(即可根据上下文语境决定活该元素为块状或内联元素)

      applet - java applet

      <button>--按钮

      <del>--删除文本

      <iframe>-inline-frame--一些浏览器不支持frame,则可使用这个标签使其展现

      <ins>--插入的文本

      <map>--图片区块

      <object>--object对象

      <script>--客户端脚本

    区别:1)块级元素单独占一行,其宽度自动填满其父元素的宽度;行内元素不会单独占一行,相邻元素排列在同一行,除非一行排不下,会自动换到下一行,其宽度随内容

变化而变化

       2)块级元素可设置width,height,margin,padding属性;内联元素设置width,height无效,水平方向的padding-left,padding-right,margin-left,margin-right

       都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。(水平方向有效,竖直方向无效)

  二、利用CSS实现元素水平居中

    1)行内元素(被设元素为文本、图片等元素时):给父元素设置text-align:center;

    2)定宽块状元素:左右margin设为auto,eg:margin:0 auto;

    3)不定宽块状元素

    1. 为需设置举重元素外面加一个table标签(包括<tbody>\<tr>\<td>);为table设置左右margin值为auto
    2. 改变块状元素的display伪inline-block类型,然后使用text-align:center来实现居中
    3. 给父元素设置float,然后给父元素设置position:relative和left:50%,子元素设置position:relative和left:-50%来实现水平居中。

  三、利用CSS实现元素垂直居中  

       1)已知元素的具体尺寸(eg:width:400px;  height:200px;)

#center{
              width:400px;
              height:200px;
              background-color:#ccc;
              position:absolute;
              left:50%;
              top:50%;
              margin-top:-100px;
              margin-left:-200px;
            }

2)可不知道元素具体尺寸 IE9(-ms-), IE10+以及其他现代浏览器才支持。中国盛行的IE8浏览器被忽略是有

些不适宜的(手机web开发可忽略)。

CSS3  transform代替margin   translate的便宜百分比值是针对自身大小的

#center{
              width:400px;
              height:200px;
              background-color:#ccc;
              position:absolute;
              left:50%;
              top:50%;

transform:translate(-50%,-50%);

}

3)#center{

width:400px;
                  height:200px;
                  background-color:#ccc;
                  margin:auto;  
                  position:absolute;
                  left:0;
                  top:0;
                  bottom:0;
                  right:0;

}

时间: 2024-10-12 13:43:28

css确定元素水平居中和垂直居中的相关文章

CSS中元素水平居中和垂直居中的方法

#CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定宽块级元素 可以通过设置“左右margin”值为“auto”来实现居中 常用的有 `margin:0 auto; ` 也可以写成`margin-left:auto;margin-right:auto;` 3.不定宽块级元素 有三种实现方法: * 加入 table 标签   为需要设置的居中的元素外面

元素水平居中和垂直居中的几种简单方法

一.如何使元素在水平方向上居中 1. 使用text-align:center. 在父级元素的CSS样式设置text-align:center.把内部嵌套一个div把它当作文本来对待,不过这个方法有时候是不管用的. 2.在需要居中的元素设置margin:0 auto.     这句CSS的意思为:设置margin-left和margin-right为自动适应父级元素宽度.所以可以使元素水平居中,不过记得设置其width. 二.如何使元素在垂直方向上居中 1.使图片在垂直方向上居中. div{bac

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

绝对定位元素水平居中和垂直居中的原理

通常在设置绝对定位元素相对于其定位的祖先元素水平垂直居中时,通过绝对定位元素设置margin:auto; top:0; bottom:0; right:0; left:0;就可以实现.下面简单探索一下绝对定位元素这么设置就可以实现水平居中和垂直居中的原理. 核心CSS代码: position:absolute; margin:auto; top:0; bottom:0; right:0; left:0; 绝对定位元素的布局由元素的三个因素决定:位置(top.bottom.left.right).

css实现元素水平、垂直居中

一.水平居中 1.行内元素的水平居中方法 给父元素设置一个text-align:centent. <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <style> .box{ text-align: center; } </style>

CSS中有关水平居中和垂直居中的解决办法

CCS中让div等块级元素在父级元素中居中的方法: (1)div{  margin:0 auto   } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位置为绝对位置absolute,左边框和上边框的距离设置为50%,这个50%就是指具有定位为absolute或者是relative的祖元素的宽度和高度的50%,最后将该DIV分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半.: . parent{ position:relative: }

CSS实例:水平居中和垂直居中的多种解决方案

1.单行垂直居中 文字在层中垂直居中vertical-align 属性是做不到的.我们这里有个比较巧妙的方法就是:设置height的高度与line-height的高度相同! Example Source Code [www.52css.com] <div style="line-height:500px;height:500;"></div> 2.层水平居中 设置div的宽度小于父div的宽度,设置 margin:0 auto;,即可让div居中. Exampl