网页制作技巧总结:CSS居中大全代码

文章简介:CSS 居中大全

我看最近微博流行 CSS 居中技术,老外码农争相写相关的文章,一篇赛一篇的长啊,我把几篇归纳总结了一下,算是笔记。 
孔乙己曾说:“茴香豆的回字有四种写法”,万一哪天有个面试官问你:“居中一共有几种写法”呢,哈哈,先备着吧~~ 
各种方法各有利弊,大家自己权衡吧,至少在需要居中时多个思路。

<center>

不建议用了。

text-align:center

在父容器里水平居中 inline 文字,或 inline 元素

vertical-align:middle

垂直居中 inline 文字,inline 元素,配合 display:table ,display:table-cell,有奇效。

line-height

与 height 联手,垂直居中文字

margin:auto

示例:

1 2 3 4 5 
<style>   #ex2_container { width:200px; background-color:yellow; }   #ex2_content { margin:0px auto; background-color:gray; color:white; display:table; } </style> <div id="ex2_container"><div id="ex2_content">Hello World</div></div> 

hacks, hacks(小技巧)

有许多 hacks ,负 margin,影子元素 ::before 等。如果你的内容不是固定大小的话,它们大部分是很脆弱的。

translate(-50%,-50%)

用 position 加 translate translate(-50%,-50%) 比较奇特,百分比计算不是以父元素为基准,而是以自己为基准。

参考文章:居中百分比宽高的元素

示例:

1 2 3 4 5 
<style>   #ex3_container { width:200px; height:200px; background-color:yellow; position:relative; }   #ex3_content { left:50%; top:50%; transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); background-color:gray; color:white; position:absolute; } </style> <div id="ex3_container"><div id="ex3_content">Hello World</div></div> 

这个技巧相当嚣张,同样适用于没固定大小的内容,min-widthmax-heightoverflow:scroll等。

绝对定位居中

父容器元素:position: relative

1 2 3 4 5 6 7 8 
.Absolute-Center {   width: 50%;   height: 50%;   overflow: auto;   margin: auto;   position: absolute;   top: 0; left: 0; bottom: 0; right: 0; } 

注意:高度必须定义,建议加 overflow: auto,防止内容溢出。

视口居中

内容元素:position: fixedz-index: 999,记住父容器元素 position: relative

1 2 3 4 5 6 7 8 9 
.Absolute-Center.is-Fixed {   width: 50%;   height: 50%;   overflow: auto;   margin: auto;   position: fixed;   top: 0; left: 0; bottom: 0; right: 0;   z-index: 999; } 

模态窗口实例

响应式

百分比宽高,最大、最小宽度均可以,加 padding 也可以

1 2 3 4 5 6 7 8 9 10 11 
.Absolute-Center.is-Responsive {   width: 60%;   height: 60%;   min-width: 400px;   max-width: 500px;   padding: 40px;   overflow: auto;   margin: auto;   position: absolute;   top: 0; left: 0; bottom: 0; right: 0; } 

偏移

只要 margin: auto; 在,内容块将垂直居中,top, left, bottom, right 可以设置偏移。

1 2 3 4 5 6 7 8 9 
.Absolute-Center.is-Right {   width: 50%;   height: 50%;   margin: auto;   overflow: auto;   position: absolute;   top: 0; left: auto; bottom: 0; right: 20px;   text-align: right; } 

溢出

居中内容比父容器高时,防止溢出,加 overflow: auto (没有任何 padding 时,也可以加 max-height: 100%;)。

1 2 3 4 5 6 7 8 9 
.Absolute-Center.is-Overflow {   width: 50%;   height: 300px;   max-height: 100%;   margin: auto;   overflow: auto;   position: absolute;   top: 0; left: 0; bottom: 0; right: 0; } 

调整尺寸

resize 属性可以让尺寸可调。 设置 min- /max- 限制尺寸,确定加了 overflow: auto 。

1 2 3 4 5 6 7 8 9 10 11 
.Absolute-Center.is-Resizable {   min-width: 20%;   max-width: 80%;   min-height: 20%;   max-height: 80%;   resize: both;   overflow: auto;   margin: auto;   position: absolute;   top: 0; left: 0; bottom: 0; right: 0; } 

图像

图像同样适用,设置 height: auto;

1 2 3 4 5 6 7 
.Absolute-Center.is-Image {   width: 50%;   height: auto;   margin: auto;   position: absolute;   top: 0; left: 0; bottom: 0; right: 0; } 

可变高度

高度必须定义,但可以是百分比或 max-height。不想定义高度的话,用 display: table (需要考虑 Table-Cell 兼容性)。

1 2 3 4 5 6 7 8 
.Absolute-Center.is-Variable {   display: table;   width: 50%;   overflow: auto;   margin: auto;   position: absolute;   top: 0; left: 0; bottom: 0; right: 0; } 

负 margin

确切知道宽高,负 margin 是宽和高的一半。

1 2 3 4 5 6 7 8 9 
.is-Negative {         width: 300px;         height: 200px;         padding: 20px;         position: absolute;         top: 50%; left: 50%;         margin-left: -170px; /* (width + padding)/2 */         margin-top: -120px; /* (height + padding)/2 */ } 

Table-Cell

参考文章:Flexible height vertical centering with CSS, beyond IE7

结构:

1 2 3 4 5 6 7 
<div class="Pos-Container is-Table">   <div class="Table-Cell">     <div class="Center-Block">     &lt!-- CONTENT -->     </div>   </div> </div> 

样式:

1 2 3 4 5 6 7 8 9 
.Pos-Container.is-Table { display: table; } .is-Table .Table-Cell {   display: table-cell;   vertical-align: middle; } .is-Table .Center-Block {   width: 50%;   margin: 0 auto; } 

FlexBox

参考文章:Designing CSS Layouts With Flexbox Is As Easy As Pie

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 
.Pos-Container.is-Flexbox {   display: -webkit-box;   display: -moz-box;   display: -ms-flexbox;   display: -webkit-flex;   display: flex;   -webkit-box-align: center;      -moz-box-align: center;      -ms-flex-align: center;   -webkit-align-items: center;           align-items: center;   -webkit-box-pack: center;      -moz-box-pack: center;      -ms-flex-pack: center;   -webkit-justify-content: center;           justify-content: center; } 

参考资料: 
* Absolute Horizontal And Vertical Centering In CSS 
* Absolute Centering in CSS 
* CENTERING ALL THE DIRECTIONS 
* Seven Ways of Centering With CSS 
* How to Center Anything With CSS 
* Vertical Centering With CSS

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索display
, margin
, auto
, position
, overflow
, center
, height
, 面试题大全
Table居中
,以便于您获取更多的相关知识。

时间: 2025-01-02 14:14:06

网页制作技巧总结:CSS居中大全代码的相关文章

CSS网页制作技巧:让网页内容居中的方法

文章简介:居中一直是设计师们比较喜欢使用的一种摆放形式,无论是图片还是文字都会被要求放在中间,水平或者垂直.css提供了很多方便的让内容居中的方法给我们使用,以下罗列那些最长被使用的居中技巧. 居中一直是设计师们比较喜欢使用的一种摆放形式,无论是图片还是文字都会被要求放在中间,水平或者垂直.css提供了很多方便的让内容居中的方法给我们使用,以下罗列那些最长被使用的居中技巧. 水平居中的text-align:center 和 margin:0 auto 这两种方法都是用来水平居中的,前者是针对父元

标准网页制作技巧:CSS整体布局声明的一些用法

css|标准|技巧|网页 我们应该养成良好的编码习惯,CSS整体布局声明为我们的代码简化.提高运行效率提供了途径.我们列举比较常用的形式,并加上解释.整体布局声明的作用在于将目标作一个整体的概括,声明一些完全相同或基本相同的属性及值,以免在后面的代码中每一个标签中都需要单独定义.若有不同的属性与值,后面的重新定义即可. 一.通配式整体布局声明. * {margin:0;padding:0;font-size:0.8em;...} 这类形式的声明是针对整个页面的.可以设置页面元素共有的属性.而不必

CSS网页制作技巧:DIV+CSS网页布局常犯错误汇总

文章简介:随着CSS网页布局越来越普及,国内大部分网站已经采用CSS网页布局的制作方法.在应用DIV+CSS编码时很容易犯一些错误,这里列举一些常见的错误,帮助新手朋友更好的学习与进步. 随着CSS网页布局越来越普及,国内大部分网站已经采用CSS网页布局的制作方法.在应用DIV+CSS编码时很容易犯一些错误,这里列举一些常见的错误,帮助新手朋友更好的学习与进步. 一.检查HTML元素是否有拼写错误 是否忘记结束标记 即使是老手也经常会弄错div的嵌套关系.可以用dreamweaver的验证功能检

CSS网页制作技巧:IE浏览器下li的默认高度问题

文章简介:CSS网页制作技巧:IE浏览器下li的默认高度问题. 昨天,在家打开IE7浏览器看"视频导航网"的时候,发现居然有排版错误. 用F12开发者工具看了下,发现 li 的默认高度既然不统一? 用工具看了下,发现火狐高度解析统一为33px,而IE7解析高度根据字的不一样,默认解析的高度为30px,纯数字的解析高度为31px;中英文组合的解析高度为32px; 解决方法一:给LI设置高度后,IE7正常了,但IE6问题依然存在.原来,LI里面还嵌套着A标签,给A也设置一个高度后问题解决.

CSS网页制作技巧:兼容主流浏览器的背景颜色透明

文章简介:CSS网页制作技巧:兼容主流浏览器的背景颜色透明. 以前都是用jquery来写背景透明,方法简单,但是有缺点,脚本没加载完时,背景颜色是不透明的.如果换成在css里写好的话,效果就很好了..transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; } 上面的几个属性分别是: opacity: 0.5; 这是最重要的,因为它是CSS标准.该属性支持f

CSS网页制作技巧:隐藏网页元素的方法汇总

文章简介:CSS网页制作技巧:隐藏网页元素的方法汇总. 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.下面一个个列出,选一个适合你的 { display: none; /* 不占据空间,无法点击 */ }{ visibility: hidden; /* 占据空间,无法点击 */ }{ position: absolute; top: -999em; /* 不占据空间,无法点击 */ }{ position: rela

DIVCSS网页设计总结:有用的3个网页制作技巧

网页制作Webjx文章简介:DIVCSS网页设计总结:有用的3个网页制作技巧. 我们在进行DivCSS布局的时候,非常关注CSS技巧的学习,今天向大家推荐3个所谓的 "顶级"CSS技巧!虽然没有什么新意,但对新手而言却非常重要! 一.在一行内声明CSS h2 {font-size:18px; border:1px solid blue; color:#000; background-color:#FFF;}  h2 {  font-size:18px;  border:1px soli

巧妙运用Dreamweaver进行网页制作技巧

dreamweaver|技巧|网页 巧妙运用DW进行网页制作技巧--熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style来调用Style标准,也可以在状态栏中的元素列表上单击右键来调用Style.虽然不同的方法达到的效果看似一样,但实际上产生的HTML代码则完全不同. 1.灵活运用样式 熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style来调用Style标准,也可以在状态栏中的元素列表上单击右键来调用

Dreamweaver CS3网页制作中的CSS布局规则

虽然webjx.com一直建议大家不用Dreamweaver可视化编辑的方式进行CSS网页布局,但依然很多朋友在使用.建立您可以使用DW的代码编辑器进行CSS代码的编写.今天向大家介绍Dreamweaver CS3网页制作中的CSS布局规则 . CSS文件的链接方式  ·附加链接:外部CSS文件 ·导入CSS:常用应用多个CSS文件时,将多个CSS导入一个CSS文件中  CSS规则定义有三种  ·类比如".RedText".".BlueText"和".Bi