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)不定宽块状元素
- 为需设置举重元素外面加一个table标签(包括<tbody>\<tr>\<td>);为table设置左右margin值为auto
- 改变块状元素的display伪inline-block类型,然后使用text-align:center来实现居中
- 给父元素设置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)不定宽块状元素
- 为需设置举重元素外面加一个table标签(包括<tbody>\<tr>\<td>);为table设置左右margin值为auto
- 改变块状元素的display伪inline-block类型,然后使用text-align:center来实现居中
- 给父元素设置float,然后给父元素设置position:relative和left:50%,子元素设置position:relative和left:-50%来实现水平居中。
三、利用CSS实现元素垂直居中
1)已知元素的具体尺寸(eg:width:400px; height:200px;)
width:400px;
height:200px;
background-color:#ccc;
position:absolute;
left:50%;
top:50%;
margin-top:-100px;
margin-left:-200px;
}
width:400px;
height:200px;
background-color:#ccc;
position:absolute;
left:50%;
top:50%;
height:200px;
background-color:#ccc;
margin:auto;
position:absolute;
left:0;
top:0;
bottom:0;
right:0;
css确定元素水平居中和垂直居中的更多相关文章
- CSS中元素水平居中和垂直居中的方法
#CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定 ...
- css图片居中(水平居中和垂直居中)
css图片居中(水平居中和垂直居中) css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 ...
- div中如何让文本元素、img元素水平居中且垂直居中
一.文本元素在div中的水平居中且垂直居中方法 html代码 <div id="box"> <p>文本元素</p> </div> c ...
- CSS 实现盒子水平居中、垂直居中和水平垂直居中的方法
CSS 实现盒子模型水平居中 水平居中效果图如下: HTML: CSS 全局样式: 方法一:使用margin: 0 auto;(只适用于子盒子有宽的时候) 方法二:text-align + disp ...
- css元素水平居中和垂直居中的方式
关于居中的问题,一直处于疑惑不解的状态,知道的几种方法好像也不是每一次都会起到作用,所以更加迷惑.主要是不清楚该 在什么情况下采用哪种解决方法,所以,整理了一些方法,梳理一下思路,做一个总结. 1. ...
- CSS元素水平居中和垂直居中的方法大全
水平居方法: 1.最熟悉的是给元素定义一个宽度,然后使用margin: body{ width:960px; margin:0 auto;}这个是当我们的定义元素的宽度时显现的,如果我们不能定义宽度时 ...
- CSS中有关水平居中和垂直居中的解决办法
CCS中让div等块级元素在父级元素中居中的方法: (1)div{ margin:0 auto } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位 ...
- 使用CSS定位元素实现水平垂直居中效果
总结一下平时使用CSS技巧使元素达到水平居中效果 相对定位(或绝对定位)实现水平垂直居中: element{ position:relative; /*这个属性也可以是absolute*/ width ...
- 用CSS/CSS3 实现水平居中和垂直居中,水平垂直居中的方式
一.水平居中 (1)行内元素解决方案:父为块元素+text-align: center 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可: 使用te ...
随机推荐
- Lintcode 75.寻找峰值
--------------------------------------- 按照给定的峰值定义,峰值的左半部分一定是递增的,所以只要找到不递增的即可. AC代码: class Solution { ...
- Mac eclipse配置Python环境
1.给Eclipse安装PyDev插件 第一次启动会让选择一个工作空间,按缺省设置,勾选一下不再提醒,就可以了.在Help菜单中,选择Install New Software···, 选择Add按钮, ...
- asp.net Application、 Session、Cookie、ViewState、Cache、Hidden 的区别
这些对象都是用来保存信息的,包括用户信息,传递值的信息,全局信息等等.他们之间的区别: 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Applicat ...
- **crontab的使用方式介绍和no crontab for root 提示的处理
crontab的使用方式介绍 定时任务参数详解如下: crontab -l | crontab -e www.2cto.com #*/30 * * * * ntpdate 1 ...
- 安装storm的一些很乱的笔记
下面是自己安装和测试storm的一些笔记,比较乱,后续有时间在整理一篇. storm jar all-my-code.jar com.storm.MyTopology arg1 arg2这个命令会运行 ...
- 体验Visual Studio 2015 之 MVC - 视图组建
VS2015 PERVIEW中可以创建MVC 项目. 我们可以 发现有几大亮点. 首先我们看目录结构: 当前项目包含两个主要的文件夹:Solution Items .src 很明显src文件夹下为当前 ...
- Learn Git and GitHub without any code!
What is GitHub? GitHub is a code hosting platform for version control and collaboration.代码托管平台. repo ...
- POJ 2653 Pick-up sticks (线段相交)
题意:给你n条线段依次放到二维平面上,问最后有哪些没与前面的线段相交,即它是顶上的线段 题解:数据弱,正向纯模拟可过 但是有一个陷阱:如果我们从后面向前枚举,找与前面哪些相交,再删除前面那些相交的线段 ...
- Linux学习笔记(11)-kill函数
明天开始学习kill函数的用法. ---------------------------------------------- kill函数可以用来向指定的进程发送一个指定的信号,在我的理解的来看,就 ...
- hive学习笔记
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...