display的inline-block替代float的一些场景

Posted Stephen666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了display的inline-block替代float的一些场景相关的知识,希望对你有一定的参考价值。

一、横向菜单

inline-block是不换行的块级元素,对于使用ul-li结构的网页顶部横向导航菜单非常有用。

如果不使用inline-block属性,只能使用float来浮动每个li元素,写起来比较麻烦,如果使用了inline-block代码相对简单:

 1 <div class="header">
 2     <ul>
 3         <li>
 4             <a href="javascript:;" target="_blank">服装城</a>
 5         </li>
 6         <li>
 7             <a href="javascript:;" target="_blank">美妆馆</a>
 8         </li>
 9         <li>
10             <a href="javascript:;" target="_blank">超市</a>
11         </li>
12         <li>
13             <a href="javascript:;" target="_blank">全球购</a>
14         </li>
15         <li>
16             <a href="javascript:;" target="_blank">闪购</a>
17         </li>
18         <li>
19             <a href="javascript:;" target="_blank">团购</a>
20         </li>
21         <li>
22             <a href="javascript:;" target="_blank">拍卖</a>
23         </li>
24         <li>
25             <a href="javascript:;" target="_blank">金融</a>
26         </li>
27         <li>
28             <a href="javascript:;" target="_blank">智能</a>
29         </li>
30     </ul>
31 </div>

css代码如下:

1 a, ul, li { padding: 0; margin: 0; list-style-type: none; }
2 a { text-decoration: none; color: #333; } 
3 .header ul { font-size: 0; text-align: center; }
4 .header li { display: inline-block; font-size: 16px; width: 80px; text-align: center; }

二、需要行内排列设置大小

例如使用a标签做按钮时,需要设置按钮的大小,我们就可以使用inline-block来实现。

1 <div>
2     点击右边的按钮直接购买
3     <a href="javascript:;" class="button">
4         购买
5     </a>
6 </div>

css代码:

 1 .button {
 2   display: inline-block; 
 3   width: 150px; 
 4   height: 45px; 
 5   background: #b61d1d; 
 6   color: #fff; 
 7   text-align: center; 
 8   line-height: 45px; 
 9   font-size: 20px; 
10 }

三、布局

比如创建一个三列布局:

 1 <div class="wrap">
 2     <div class="header">
 3         网页头部
 4     </div>
 5     <div class="content">
 6         <div class="left">
 7             左侧
 8         </div>
 9         <div class="center">
10             中间
11         </div>
12         <div class="right">
13             右侧
14         </div>
15     </div>
16     <div class="footer">
17         网页底部
18     </div>
19 </div>

css代码:

1 body, div { margin: 0; padding: 0; }
2 .header, .footer { width: 100%; background: #ccc; height: 120px; text-align: center; line-height: 120px; }
3 .content { margin: 0 auto; background: #ff6a00; width: 1000px; font-size: 0; }
4 .content .left, .content .center, .content .right { display: inline-block; font-size: 16px; height: 400px; }
5 .content .left, .content .right { width: 200px; }
6 .content .center { width: 600px; background: #00ffff; }

效果图:

关于inline-block的应用,只要是从左到右,从上到下,并且需要设置大小的列表都可以用它来实现,而这种需求是非常常见的,相比于float,我更推荐inline-block。

以上是关于display的inline-block替代float的一些场景的主要内容,如果未能解决你的问题,请参考以下文章

转发- css(display,float,position)

display为inline-block的元素中间有间隙的原因和解决办法

css 中非常规操作的技巧收集

H5C3网站布局总结

display: inline 和 display: inline-block 有啥区别?

行内元素对齐:display:inline-block;