经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
教你玩转CSS 居中
来源:cnblogs  作者:水香木鱼  时间:2021/2/22 8:41:41  对本文有异议

1.元素居中对齐

要水平居中对齐一个元素(如 <div>), 可以使用 margin: auto;。

设置到元素的宽度将防止它溢出到容器的边缘。

元素通过指定宽度,并将两边的空外边距平均分配:

 

  1. .center {
  2. margin: auto;
  3. width: 50%;
  4. border: 3px solid green;
  5. padding: 10px;
  6. }

 

 注意: 如果没有设置 width 属性(或者设置 100%),居中对齐将不起作用。

2.文本居中对齐

如果仅仅是为了文本在元素内居中对齐,可以使用 text-align: center;

  1. .center {
  2. text-align: center;
  3. border: 3px solid green;
  4. }

 3.图片居中对齐

要让图片居中对齐, 可以使用 margin: auto; 并将它放到  元素中:

  1. img {
  2. display: block;
  3. margin: auto;
  4. width: 40%;
  5. }

4.左右对齐 - 使用定位方式

我们可以使用 position: absolute; 属性来对齐元素:

  1. .right {
  2. position: absolute;
  3. right: 0px;
  4. width: 300px;
  5. border: 3px solid #73AD21;
  6. padding: 10px;
  7. }

注释:绝对定位元素会被从正常流中删除,并且能够交叠元素。

提示: 当使用 position 来对齐元素时, 通常 元素会设置 margin 和 padding 。 这样可以避免在不同的浏览器中出现可见的差异。

当使用 position 属性时,IE8 以及更早的版本存在一个问题。如果容器元素(在我们的案例中是 <div class=“container”>)设置了指定的宽度,并且省略了 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 position 属性时,请始终设置 !DOCTYPE 声明:

  1. body {
  2. margin: 0;
  3. padding: 0;
  4. }
  5. .container {
  6. position: relative;
  7. width: 100%;
  8. }
  9. .right {
  10. position: absolute;
  11. right: 0px;
  12. width: 300px;
  13. background-color: #b0e0e6;
  14. }

5.左右对齐 - 使用 float 方式

我们也可以使用 float 属性来对齐元素:

  1. .right {
  2. float: right;
  3. width: 300px;
  4. border: 3px solid #73AD21;
  5. padding: 10px;
  6. }

 

当像这样对齐元素时,对 元素的外边距和内边距进行预定义是一个好主意。这样可以避免在不同的浏览器中出现可见的差异。

我们可以在父元素上添加 overflow: auto; 来解决子元素溢出的问题:

  1. .clearfix {
  2. overflow: auto;
  3. }

 

当使用 float 属性时,IE8 以及更早的版本存在一个问题。如果省略 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 float 属性时,请始终设置 !DOCTYPE 声明:

  1. body {
  2. margin: 0;
  3. padding: 0;
  4. }
  5. .right {
  6. float: right;
  7. width: 300px;
  8. background-color: #b0e0e6;
  9. }

 

6.垂直居中对齐 - 使用 padding

CSS 中有很多方式可以实现垂直居中对齐。 一个简单的方式就是头部顶部使用 padding:

  1. .center {
  2. padding: 70px 0;
  3. border: 3px solid green;
  4. }

如果要水平和垂直都居中,可以使用 padding 和 text-align: center:

  1. .center {
  2. padding: 70px 0;
  3. border: 3px solid green;
  4. text-align: center;
  5. }

 

7.垂直居中 - 使用 line-height

  1. .center {
  2. line-height: 200px;
  3. height: 200px;
  4. border: 3px solid green;
  5. text-align: center;
  6. }
  7. /* 如果文本有多行,添加以下代码: */
  8. .center p {
  9. line-height: 1.5;
  10. display: inline-block;
  11. vertical-align: middle;
  12. }

8.垂直居中 - 使用 position 和 transform

除了使用 padding 和 line-height 属性外,我们还可以使用 transform 属性来设置垂直居中:

  1. .center {
  2. height: 200px;
  3. position: relative;
  4. border: 3px solid green;
  5. }
  6. .center p {
  7. margin: 0;
  8. position: absolute;
  9. top: 50%;
  10. left: 50%;
  11. transform: translate(-50%, -50%);
  12. }

 

原文链接:http://www.cnblogs.com/chenchunbo/p/14413894.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号