CSS行内元素和块级元素的居中

一.水平居中  

  行内元素和块级元素不同,对于行内元素,只需在父元素中设置text-align=center即可;

  对于块级元素有以下几种居中方式:  

  1.将元素放置在table中,再将table的margin-left和margin-right设置成auto,将table居中,使在其之中的块级元素叶居中,但是这种方式不符合语义化标签的规范;  

  2.将块级元素转换行内元素(通过设置display:inline)后再居中.这种方式使居中元素变成行内元素而致使无法设置宽高;  

  3.设置父元素float:left,position:relative,left:50%;子元素float:left,position:relative,left:-50%,利用相对布局的方式居中.上面三种方式各有优劣,依使用情景具体选择.

二.垂直居中  

  1.对于知道高度的元素可以设置上下padding相等;  

  2.设置line-height和height相等  

  3.利用vertical-align,但是这属性只在tr,td中适用,故可将元素放置入table中在居中

源码

 1  1 <!-- 水平居中 -->
 2  2     <!-- 行內元素居中只需在父元素中設置text-align即可 -->
 3  3     <div class="father">
 4  4         <p class="blockCenter">
 5  5             hehe</p>
 6  6     </div>
 7  7     <!-- table居中 -->
 8  8     <table class="tableclass">
 9  9         <tr>
10 10             <td>
11 11                 <ul class="ulclass">
12 12                     <li><a href="#">呵</a></li>
13 13                 </ul>
14 14             </td>
15 15         </tr>
16 16     </table>
17 17     <table class="tableclass">
18 18         <tr>
19 19             <td>
20 20                 <ul class="ulclass">
21 21                     <li><a href="#">呵</a></li>
22 22                     <li><a href="#">呵</a></li>
23 23                     <li><a href="#">呵</a></li>
24 24                 </ul>
25 25             </td>
26 26         </tr>
27 27     </table>
28 28     <table class="tableclass">
29 29         <tr>
30 30             <td>
31 31                 <ul class="ulclass">
32 32                     <li><a href="#">呵</a></li>
33 33                     <li><a href="#">呵</a></li>
34 34                     <li><a href="#">呵</a></li>
35 35                     <li><a href="#">呵</a></li>
36 36                     <li><a href="#">呵</a></li>
37 37                 </ul>
38 38             </td>
39 39         </tr>
40 40     </table>
41 41     <!-- 將塊級元素變為行內元素在居中 -->
42 42     <ul style="{text-align: center}">
43 43         <li style="{display: inline}">nihao </li>
44 44     </ul>
45 45     <!-- 利用相對佈局 -->
46 46     <ul class="relativeCenterFather">
47 47         <li class="relativeCenterChild">你好 </li>
48 48     </ul>
49 49
50 50     <!-- 豎直居中-->
51 51     <!-- 1.設置相同的上下padding -->
52 52     <!--  2.父元素height和line-height相同 -->
53 53     <hr />
54 54     <div style={background:#000;width:500px;color:#fff;line-height:100px;text-align:center}>
55 55         我要來場說走就走的旅行
56 56     </div>
57 57     <!--3. vartical-align,這屬性只對tr,td起作用 -->
58 58     <table>
59 59         <tr verticla-align="center" height="100" background="#FF00FF">
60 60             <td>一弦一柱思華年</td>
61 61         </tr>
62 62     </table>

css样式

 1 <style type="text/css">
 2     .father
 3     {
 4         width:500px;
 5     }
 6     .inlineCenter
 7     {
 8         text-align:center;
 9         float:left;
10     }
11     .blockCenter
12     {
13         width:100px;
14         margin-left:auto;
15         margin-right:auto;
16         text-align:"center"
17     }
18     .tableclass
19     {
20         margin-left:auto;
21         margin-right:auto;
22     }
23     .ulclass
24     {
25         list-style:none;
26         margin:0;
27         padding:0;
28     }
29        .ulclass li
30        {
31            float:left;
32            display:inline;
33            text-align:center;
34        }
35        .ulclass li a
36        {
37            text-align:center;
38            float:left;
39            background:#316AC5;
40            color:#fff;
41        }
42     .ulclass li a:hover
43     {
44         background:#fff;
45         color:#316AC5;
46     }
47
48
49     .relativeCenterFather
50     {
51         float:left;
52         position:relative;
53         left:50%
54     }
55     .relativeCenterChild
56     {
57         float:left;
58         position:relative;
59         left:-50%;
60     }
61
62
63     /* 豎直居中*/
64     .wrap
65     {
66         background:#000;
67         width:500px;
68         color:#fff;
69         height:100px;
70         line-height:100px;
71     }
72 </style>
时间: 2024-10-11 05:25:58

CSS行内元素和块级元素的居中的相关文章

html入门(转义字符、行内样式和块级元素、定位、锚点、跑马灯标签、图片标签、表格标签的讲解)

一.转义字符由特殊字符包裹的文本 会当做标签去解析 对应不换行空格 对应全角空格 em是字体排印学的计量单位,相当于当前指定的点数.其占据的宽度正好是1个中文宽度,而且基本上不受字体影响.<对应< >对应> 二.行内元素和块级元素1.块级标签默认情况下,每一个块级元素都是独占一行的即元素的前后都会换行 都有 align 属性,例如: p标签 段落标签 h1~6标签 标题标签 hr标签   水平分割线标签 div标签 块级元素 2.行内标签 不会换行可以和其他的标签或文本在一行内显示

【前段开发】行内元素和块级元素总结(HTML CSS)

块级元素 <address> information on author <blockquote> long quotation <button> push button <caption> table caption <dd> definition description <del> deleted text <div> generic language/style container <dl> defini

CSS设置行内元素和块级元素的水平居中、垂直居中

CSS设置行内元素的水平居中 div{text-align:center} /*DIV内的行内元素均会水平居中*/ CSS设置行内元素的垂直居中 div{height:30px; line-height:30px} /*DIV内的行内元素均会垂直居中*/ PS:当然,如果既要水平居中又要垂直居中,那么综合一下 div{text-align:center; height:30px; line-height:30px} CSS设置块级元素的水平居中 div p{margin:0 auto; widt

详解css中的display属性(行内元素和块级元素)

display属性 首先,所有主流浏览器都支持 display 属性.其次,我们都知道display 属性规定元素应该生成的框的类型.默认值:inline 我们常用的display属性值有: inline block inline-block none 把 display 设置成 none 不会保留元素本该显示的空间,但是 visibility: hidden 还会保留. 那么,display:inline.display:block和display:inline-block有什么区别呢? <s

CSS中的行内元素和块级元素

我们在构造页面时,会发现有的元素是上下排列的,而有的则是横向排列的,这是为啥子呢   看看上图,我们也没给他设置啥子属性咋就不一样了,其实是因为每个元素都有默认的 display 属性,比如 div 标签的默认 display 属性是 block,我们通常称这类元素为块级元素:span 标签的默认 display 属性是 inline,我们通常称这类元素为行内元素 我们可以看到块级元素总是独占一行,从上到下显示,行内元素则是从左到右显示.这是因为块级元素前后有换行符,而行内元素前后没有换行符.除

CSS 中的内联元素、块级元素、display的各个属性的特点

CSS的内联元素和块级元素 块级元素<h1>-<h6>.p.dt是不可以内联块级元素的 1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通常被现实为独立的一块,会单独换一行:inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满. 2.大体来说HTML元素各有其自身的布局级别(block元素还是inline元

行内元素和块级元素的区别

一.行内元素和块级元素的区别 1. 行内元素不会占据整行,在一条直线上排列,都是同一行,水平方向排列: 块级元素会占据一行,垂直方向排列. 2. 块级元素可以包含行内元素和块级元素:行内元素不能包含块级元素. 3. 行内元素与块级元素属性的不同,主要是盒模型属性上,行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效. 二.行内元素和块级元素的相互转换 行内元素转化为块元素: display:block; 块元素转化为行内元

替换元素和不可替换元素,块级元素和行内元素

替换元素和不可替换元素 1>  替换元素 替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容,在其显示中生成了框.HTML中的<img>.<input>.<textarea>.<select>.<object>都是替换元素.这些元素往往没有实际的内容,即是一个空元素.Example:#1 <img src=”path/to/picture.jpg”/>浏览器根据<img>标签的src属性的值来读取图片信

行内元素转为块级元素的方法

以下汇总三种行内元素转为块级元素的方法: (1)display (2)float (3)position(absolute和fixed) 代码 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta http-equiv="X-UA-Compatible" content="ie