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) 收藏 举报
浙公网安备 33010602011771号