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

首先,我们在了解如何通过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;
                 }
 

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

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

    #CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定 ...

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

    css图片居中(水平居中和垂直居中) css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 ...

  3. div中如何让文本元素、img元素水平居中且垂直居中

    一.文本元素在div中的水平居中且垂直居中方法 html代码 <div id="box"> <p>文本元素</p> </div> c ...

  4. CSS 实现盒子水平居中、垂直居中和水平垂直居中的方法

     CSS 实现盒子模型水平居中 水平居中效果图如下: HTML: CSS 全局样式: 方法一:使用margin: 0 auto;(只适用于子盒子有宽的时候) 方法二:text-align + disp ...

  5. css元素水平居中和垂直居中的方式

    关于居中的问题,一直处于疑惑不解的状态,知道的几种方法好像也不是每一次都会起到作用,所以更加迷惑.主要是不清楚该 在什么情况下采用哪种解决方法,所以,整理了一些方法,梳理一下思路,做一个总结. 1. ...

  6. CSS元素水平居中和垂直居中的方法大全

    水平居方法: 1.最熟悉的是给元素定义一个宽度,然后使用margin: body{ width:960px; margin:0 auto;}这个是当我们的定义元素的宽度时显现的,如果我们不能定义宽度时 ...

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

    CCS中让div等块级元素在父级元素中居中的方法: (1)div{  margin:0 auto   } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位 ...

  8. 使用CSS定位元素实现水平垂直居中效果

    总结一下平时使用CSS技巧使元素达到水平居中效果 相对定位(或绝对定位)实现水平垂直居中: element{ position:relative; /*这个属性也可以是absolute*/ width ...

  9. 用CSS/CSS3 实现水平居中和垂直居中,水平垂直居中的方式

    一.水平居中 (1)行内元素解决方案:父为块元素+text-align: center 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可: 使用te ...

随机推荐

  1. SQL 检查 是否存在 表 临时表

    1.检查临时表是否存在 已有临时表#temp2 if exists(select * from tempdb..sysobjects where id =object_id('tempdb..#tem ...

  2. JS中的if和else的用法以及基础语法

    正常里的变量方式.var a = 10; 针对整数.var b = 3.14; 针对的小数点.var c = "你好":双引号或者单引号引起来的是定义字符串. 一.类型转换(强制转 ...

  3. [Python数据分析]新股破板买入,赚钱几率如何?

    这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...

  4. angular1.x的简单介绍 (一)

    angular1.x作为经典的mvc框架,可以创建能够复用的组件,也可进行双向数据绑定.国内的vue.js/avaloon.js都是同类型的框架.适合使用angularjs的项目有大型信息化管理系统: ...

  5. tp框架之文件上传

    控制器 function wenjian() { if(empty($_FILES)) { $this->display(); } else { $u = new \Think\Upload() ...

  6. linux内核(kernel)版本号的意义

    转自:http://www.cnblogs.com/jsjliuxing/archive/2011/12/01/2271182.html 在linux下有一个目录,即/usr/src/kernels/ ...

  7. AOJ 0558 Cheese【BFS】

    在H * W的地图上有N个奶酪工厂,分别生产硬度为1-N的奶酪.有一只吃货老鼠准备从老鼠洞出发吃遍每一个工厂的奶酪.老鼠有一个体力值,初始时为1,每吃一个工厂的奶酪体力值增加1(每个工厂只能吃一次), ...

  8. Shell_2 语句

    1 if else fi if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句: if ... else ... f ...

  9. PDA手持终端扫描条码开单打印一体 结合后台电脑系统 数据同步交互解决方案

    PDA通过扫描商品条码移动开单,实现便携式办公,伴随式销售,PDA能通过WIFI无线局域网.GPRS互联网直接与主机连接,让公司业务人员能随时随地了解公司产品信息,直接扫描商品条码,进行开单.入库.库 ...

  10. Swift学习之熟悉控件

    最近是比较清闲一些的,对于一个开发者来说,这也是一个很好的充电机会.以前做项目都是使用Objective-C去开发,但我们都知道,Swift语言从2014年的出现到现在,一步一步变的完善,渐渐变的受欢 ...