css--块元素、内联元素、内联块元素

块元素、内联元素、内联块元素

元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。

块元素
块元素,也可以称为行元素,布局中常用的标签如:div、p、ul、li、h1~h6、dl、dt、dd等等都是块元素,它在布局中的行为:

  • 支持全部的样式
  • 如果没有设置宽度,默认的宽度为父级宽度100%
  • 盒子占据一行、即使设置了宽度

内联元素
内联元素,也可以称为行内元素,布局中常用的标签如:a、span、em、b、strong、i等等都是内联元素,它们在布局中的行为:

  • 支持部分样式(不支持宽、高、margin上下、padding上下)
  • 宽高由内容决定
  • 盒子并在一行
  • 代码换行,盒子之间会产生间距
  • 子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式,用line-height属性值设置垂直对齐方式

解决内联元素间隙的方法
1、去掉内联元素之间的换行
2、将内联元素的父级设置font-size为0,内联元素自身再设置font-size

内联块元素
内联块元素,也叫行内块元素,是新增的元素类型,现有元素没有归于此类别的,img和input元素的行为类似这种元素,但是也归类于内联元素,我们可以用display属性将块元素或者内联元素转化成这种元素。它们在布局中表现的行为:

  • 支持全部样式
  • 如果没有设置宽高,宽高由内容决定
  • 盒子并在一行
  • 代码换行,盒子会产生间距
  • 子元素是内联块元素,父元素可以用text-align属性设置子元素水平对齐方式,用line-height属性值设置子元素垂直对齐方式

这三种元素,可以通过display属性来相互转化,不过实际开发中,块元素用得比较多,所以我们经常把内联元素转化为块元素,少量转化为内联块,而要使用内联元素时,直接使用内联元素,而不用块元素转化了。

display属性
display属性是用来设置元素的类型及隐藏的,常用的属性有:
1、none 元素隐藏且不占位置
2、block 元素以块元素显示
3、inline 元素以内联元素显示
4、inline-block 元素以内联块元素显示

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport"
 6           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>块元素、内联元素、内联块元素</title>
 9 
10     <style type="text/css">
11         /* div{background-color:gold;
12         text-align:center;
13         margin:20px 0}
14         .box1{width:200px}
15         .box2{width:300px} */
16 
17         .con,.con1{
18             width:400px;
19             height:200px;
20             border:1px solid #333;
21             margin:50px auto 0; /*0表示下方为0px*/
22             font-size:0;
23         }
24 
25         .con a{
26             width:100px;
27             height:50px;
28             display:inline-block; /*元素以内联块元素显示 */
29             background-color:gold;
30             font-size:20px;
31             text-decoration:none;
32         }
33 
34          .con1 a{
35             background-color:gold;
36             font-size:20px;
37             color:black;
38             text-decoration:none;
39         }
40 
41         .menue{
42             width:694px;
43             height:50px;
44             margin:50px auto 0;
45             padding:0;
46             list-style:none;
47             font-size:0
48         }
49 
50         .menue li{
51             display:inline-block; /*元素以内联块元素显示 */
52             width:98px;
53             height:48px;
54             border:1px solid #333;
55             margin:-1px;
56             font-size:16px;
57             text-align:center;
58             line-height:48px;
59         }
60 
61         .menue li:hover{background-color:gold}  /*动态效果展示 */
62 
63         .menue a{font-family:'楷体';color:pink;text-decoration:none}
64 
65         .menue a:hover{background-color:red}
66     </style>
67 </head>
68 <body>
69 <!-- <div>这是第一个元素</div>
70 <div class="box1">这是第二个元素</div>
71 <div class="box2">这是第三个元素</div>-->
72 
73 <div class="con">
74     <a href="#">你好呀呀呀呀呀呀</a>
75     <a href="#">我很好好好好好好好好</a>
76     <a href="#">哈哈哈哈哈哈哈哈哈</a>
77     <a href="#">嘻嘻嘻嘻嘻嘻嘻爱嘻嘻</a>
78 </div>
79 
80 <div class="con1">
81     <a href="#">你好呀呀呀呀呀呀</a>
82 </div>
83 
84 <br><br>
85 
86 <ul class="menue">
87     <li><a href="">首页</a></li>
88     <li><a href="">新闻要是</a></li>
89     <li><a href="">新闻要是</a></li>
90     <li><a href="">新闻要是</a></li>
91     <li><a href="">新闻要是</a></li>
92     <li><a href="">新闻要是</a></li>
93     <li><a href="">新闻要是</a></li>
94 </ul>
95 
96 </body>
97 </html>

posted on 2019-11-04 23:41  cherry_ning  阅读(169)  评论(0)    收藏  举报

导航