首页 > 其他 > 详细

小知识点

时间:2016-03-04 22:40:57      阅读:246      评论:0      收藏:0      [点我收藏+]

1.text-align:

  text-align属性只能针对文本文字和img标签以及其他行内元素,对其他标签无效。

  text-align:center;不同于html中的<center></center>属性,<center>是将所有被包含的元素都居中显示,而text-align:center只是将元素下面的内联元素居中显示。

2.居中

  水平居中:

    1.行内元素的水平居中,如果块级元素通过display:inline属性变为行内元素,也用此方法居中

      方法:父类设置text-align:center;属性

      

1 <div  style="height:auto;width:100%;background-color:#ccc;text-align:center">
2   <div style="width:auto;height:200px;background:red;display:inline;">111
3   </div>
4 </div>

 

    2.块级元素水平居中

        1.宽度固定的块级元素水平居中:(即:width:X% || XXpx)

           利用margin属性:margin:0 auto;关键是设置左右边距为auto,上下边距没有关系

1 <div style="height:auto;width:100%;background-color:#ccc;text-align:center">
2   <div style="width:auto;height:200px;background:red;margin:0 auto;">111
3   </div>
4 </div>

 

        2.宽度不固定的块级元素水平居中:(即没有对width进行设置)

            1.利用<table></table>

              把要居中的块级元素放在<td></td>中,用单元格对块级元素进行约束,然后设置margin属性

             

 1 html代码:
 2 <div>
 3 <table>
 4   <tbody>
 5     <tr><td>
 6     <ul>
 7         <li><a href="#">1</a></li>
 8         <li><a href="#">2</a></li>
 9         <li><a href="#">3</a></li>
10     </ul>
11     </td></tr>
12   </tbody>
13 </table>
14 </div>
15 css代码:
16 <style>
17 table{
18     margin:0 auto;
19 }
20 ul{list-style:none;margin:0;padding:0;}
21 li{float:left;display:inline;margin-right:8px;}
22 </style>

          2.利用display属性,同上

          3.利用定位,这个得好好的理解

 1 方法三:通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:-50% 来实现水平居中。
 2 代码如下:
 3 <body>
 4 <div class="container">
 5     <ul>
 6         <li><a href="#">1</a></li>
 7         <li><a href="#">2</a></li>
 8         <li><a href="#">3</a></li>
 9     </ul>
10 </div>
11 </body>
12 css代码:
13 <style>
14 .container{
15     float:left;
16     position:relative;
17     left:50%
18 }
19 .container ul{
20     list-style:none;
21     margin:0;
22     padding:0;
23     position:relative;
24     left:-50%;
25 }
26 .container li{float:left;display:inline;margin-right:8px;}
27 </style>
28 这种方法可以保留块状元素仍以 display:block 的形式显示,优点不添加无语议表标签,不增加嵌套深度,但它的缺点是设置了 position:relative,带来了一定的副作用。
29 这三种方法使用得都非常广泛,各有优缺点,具体选用哪种方法,可以视具体情况而定。

  垂直居中:

      1.单行元素垂直居中

        利用line-height

 1 父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的。如下代码:
 2 <div class="container">
 3     hi,imooc!
 4 </div>
 5 css代码:
 6 <style>
 7 .container{
 8     height:100px;
 9     line-height:100px;
10     background:#999;
11 }
12 </style>

      2.多行文本垂直居中

        1.还是利用表格对其进行约束,然后利用表格的vertical-align:middle;属性

 1 父元素高度确定的多行文本、图片、块状元素的竖直居中的方法有两种:
 2 方法一:使用插入 table (包括tbody、tr、td)标签,同时设置 vertical-align:middle。
 3 说到竖直居中,css 中有一个用于竖直居中的属性 vertical-align,但这个样式只有在父元素为 td 或 th 时,才会生效。所以又要插入 table 标签了。下面看一下例子:
 4 html代码:
 5 <body>
 6 <table><tbody><tr><td class="wrap">
 7 <div>
 8     <p>看我是否可以居中。</p>
 9     <p>看我是否可以居中。</p>
10     <p>看我是否可以居中。</p>
11     <p>看我是否可以居中。</p>
12     <p>看我是否可以居中。</p>
13 </div>
14 </td></tr></tbody></table>
15 </body>
16 css代码:
17 table td{height:500px;background:#ccc}
18 因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。

          2.还是利用vertical-align:middle属性,不过不是利用表格来实现了

 1 在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell,激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式。
 2 html代码:
 3 <div class="container">
 4     <div>
 5         <p>看我是否可以居中。</p>
 6         <p>看我是否可以居中。</p>
 7         <p>看我是否可以居中。</p>
 8         <p>看我是否可以居中。</p>
 9         <p>看我是否可以居中。</p>
10     </div>
11 </div>
12 css代码:
13 <style>
14 .container{
15     height:300px;
16     background:#ccc;
17     display:table-cell;/*IE8以上及Chrome、Firefox*/
18     vertical-align:middle;/*IE8以上及Chrome、Firefox*/
19 }
20 </style>
21 这种方法的好处是不用添加多余的无意义的标签,但缺点也很明显,它的兼容性不是很好,不兼容 IE6、7。

 

小知识点

原文:http://www.cnblogs.com/zhengfengyun/p/5243465.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!