轻松上手,快乐学习!

CSS 教程

CSS 教程CSS 简介CSS 语法CSS 选择器CSS 如何使用CSS 注释CSS 颜色RGB 颜色HEX 颜色HSL 颜色CSS 背景CSS 背景图像CSS 背景重复CSS 背景附着CSS 背景简写属性CSS 边框CSS 边框宽度CSS 边框颜色CSS 边框各边CSS 简写边框属性CSS 圆角边框CSS 外边距CSS 外边距合并CSS 内边距CSS 高度/宽度CSS Box 模型CSS 轮廓CSS 轮廓宽度CSS 轮廓颜色CSS 轮廓简写属性CSS 轮廓偏移CSS 文本CSS 文本对齐CSS 文本修饰CSS 文本转换CSS 文本间距CSS 文本阴影CSS 字体CSS 字体样式CSS 字体大小CSS 谷歌字体CSS 字体简写属性CSS 图标CSS 链接CSS 列表CSS 表格CSS DisplayCSS Max-widthCSS 定位CSS 溢出CSS 浮动CSS 清除浮动CSS 浮动实例CSS Inline-blockCSS 对齐CSS 组合器CSS 伪类CSS 伪元素CSS 不透明度CSS 导航栏CSS 垂直导航栏CSS 水平导航栏CSS 下拉菜单CSS 图片库CSS 图像拼合技术CSS 属性选择器CSS 表单CSS 计数器CSS 网站布局CSS 单位CSS 特异性CSS3 高级教程CSS3 简介CSS3 圆角CSS3 边框图像CSS3 多重背景CSS3 颜色CSS3 渐变CSS3 径向渐变CSS3 阴影CSS3 盒子阴影CSS3 文本效果CSS3 网络字体CSS3 2D 转换CSS3 3D 转换CSS3 过渡CSS3 动画CSS3 提示框CSS3 样式图像CSS3 object-fitCSS3 按钮CSS3 分页CSS3 多列CSS3 用户界面CSS3 变量CSS3 覆盖变量CSS3 变量 - JavaScriptCSS3 盒子大小CSS3 媒体查询CSS3 媒体查询实例CSS3 弹性盒子CSS3 弹性容器CSS3 弹性项目CSS3 弹性响应式RWD 简介RWD 视口RWD 网格视图RWD 媒体查询RWD 图像RWD 视频RWD 框架RWD 模板Grid 网络简介Grid 网格容器Grid 网格项目CSS 模板CSS 实例CSS 测验CSS 练习

CSS 参考手册

CSS 参考手册CSS 浏览器支持CSS 选择器参考手册CSS 函数参考手册CSS 听觉参考手册CSS 网络安全字体CSS 动画相关属性CSS 单位Px/Em 换算CSS 颜色CSS 合法颜色值CSS 默认值参考手册CSS 实体


CSS 布局 – 水平和垂直对齐


居中对齐元素
水平和垂直

居中对齐元素

要使块元素(例如 <div> )水平居中,请使用 margin: auto;。 设置元素的宽度将防止其延伸到容器的边缘。 然后,元素将占用指定的宽度,剩余空间将在两个外边距之间平均分配:
这个 div 元素是居中的

实例

.center { margin: auto; width: 50%; border: 3px solid green; padding: 10px; }
亲自试一试 »
注释: 如果未设置 width 属性(或将其设置为 100%),则居中对齐无效。

居中对齐文本

如果仅需在元素内居中文本,请使用 text-align: center;
这段文本是居中的。

实例

.center { text-align: center; border: 3px solid green; }
亲自试一试 »
提示: 有关如何对齐文本的更多例子,请参见 CSS 文本 这一章。

居中对齐图像

如需居中图像,请将左右外边距设置为 auto,并将其设置为块元素: Paris

实例

img { display: block; margin-left: auto; margin-right: auto; width: 40%; }
亲自试一试 »

左和右对齐 - 使用 position

对齐元素的一种方法是使用 position: absolute; :
In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.

实例

.right { position: absolute; right: 0px; width: 300px; border: 3px solid #73AD21; padding: 10px; }
亲自试一试 »
注释: 绝对定位的元素将从正常流中删除,并可能出现元素重叠。

左和右对齐 - 使用 float

对齐元素的另一种方法是使用 float 属性:

实例

.right { float: right; width: 300px; border: 3px solid #73AD21; padding: 10px; }
亲自试一试 »
注释: 如果一个元素比包含它的元素高,并且它是浮动的,它将溢出其容器。您可以使用 clearfix hack 来解决此问题(请看下面的例子)。

clearfix hack

没有 Clearfix

使用 Clearfix

然后我们可以向包含元素添加 overflow: auto;,来解决此问题:

实例

.clearfix { overflow: auto; }
亲自试一试 »

垂直对齐 - 使用 padding

有很多方法可以在 CSS 中垂直对齐元素。一个简单的解决方案是使用上下内边距:
我是垂直居中的。

实例

.center { padding: 70px 0; border: 3px solid green; }
亲自试一试 »
如需同时垂直和水平对齐,请使用 paddingtext-align: center;
我是水平和垂直居中的。

实例

.center { padding: 70px 0; border: 3px solid green; text-align: center; }
亲自试一试 »

垂直对齐 - 使用 line-height

另一个技巧是使用其值等于 height 属性值的 line-height 属性:

我是水平和垂直居中的。

实例

.center { line-height: 200px; height: 200px; border: 3px solid green; text-align: center; } /* 如果文本有多行,添加以下内容: */ .center p { line-height: 1.5; display: inline-block; vertical-align: middle; }
亲自试一试 »

垂直对齐 - 使用 position 和 transform

如果您的选择不是 paddingline-height,则另一种解决方案是使用 positiontransform 属性:

我是水平和垂直居中的。

实例

.center { height: 200px; position: relative; border: 3px solid green; } .center p { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
亲自试一试 »
提示: 在我们的 2D 转换 一章中,您将了解有关 transform 属性的更多信息。

垂直对齐 - 使用 Flexbox

您还可以使用 flexbox 将内容居中。请注意,IE10 以及更早的版本不支持 flexbox:
我是水平和垂直居中的

实例

.center { display: flex; justify-content: center; align-items: center; height: 200px; border: 3px solid green; }
亲自试一试 »
提示: 您将在我的 CSS Flexbox 这一章中学到更多关于 Flexbox 的知识。

CSS 习题和测验