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。

时间: 2024-11-09 00:45:31

display的inline-block替代float的一些场景的相关文章

display:inline-block,block,inline的区别与用法

一.首先要了解什么是块级元素与行级元素 块级元素 会占领页面的一行,其后多个block元素自动换行. 可以设置width,height,设置了width后同样也占领一行.同样也可以设置   margin与padding属性. ps:常见的块级元素:div,img,ul,form,p等 行级元素 与其他元素在同一行上,高度,行高以及底边距不可改变,高度就是内容文字或者图片的宽度,不可以改变. ps:em,strong,br,input等 display:inline-block,block,inl

CSS display:inline|block|inline-block差异

display:inline|block|inline-block三属性的区别和联系,block就是将元素显示为块级元素,inline就是将元素 显示为行内元素,CSS display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递.旁边的内联对象会被呈递在同一行内,允许空格. 详解CSS display:inline|block|inline-block的区别 ◆CSS display:block CSS display:block就是将元素显示为块级元素. blo

你是否应该用inline-block来替代Float

原作者:Steven Bradley 发布时间:2012年11月19日 原文地址:http://www.vanseodesign.com/css/inline-blocks/ 翻译: 子毅 --------- 将JavaScript进行到底 当使用CSS开发站点布局时,浮动(float)总是做最繁重的工作.我们为大块譬如主要内容(main content)和侧边栏(sidebar)以及其内部小一些的块使用浮动(float).浮动总是解决问题的答案吗? 通常它们都工作得很好,但是有时候却很难使用.

转:超链接a标签display属性的block和inline-block的用法说明

我们经常在设计网站的导航部分的时候,如果想让导航超链接hover显示背景,但稍不注意,默认的inline会让你抓狂,因为display:inline会将超链接显示为内联元素,即没有宽和高的作用效果,这里无论你背景怎么设置,宽高都不会超出超链接的宽高范围!所以我们可以使用 block 或 inline-block 来解决此问题! display:block   此元素将显示为块级元素,此元素前后会带有换行符. display:inline-block 行内块元素.(CSS2.1 新增的值) 当我们

style.display table-row与block

<tr id="js_rowShow" style=" display:none"> </tr> 问题: display:设置成block ie下正常,火狐和谷歌不正常 原因: 在firefox中,表格的display是:table-row,ie6不支持table-row,所以必须在你的代码中进行浏览器判断 解决: var vCss = (document.all ? "block" : "table-row&q

CSS中display属性:block、inline和inline-block的区别

最近写HTML遇到一个问题:我想设置span的宽度和高度,但是在IE9和chrome下总是不起效果.代码和效果图如下: <head> <style> span{ background-color:#43be60; width:100px; height:50px; margin-top:20px; margin-left:20px; } </style> </head> <body> <div style="background-

display:inline、block、inline-block 的区别

一.块级元素 与  行级元素 要理解display:inline.block.inline-block的区别,需要先了解HTML中的块级(block)元素和行级(inline)元素的特点,行内元素也叫内联元素. 1.块级元素 总是另起一行开始:高度,行高以及顶.底边距都可以控制:宽度缺省是它所在容器的100%,除非设定一个宽度.块级元素通常作为其他元素的容器,可以容纳内联元素和其他块元素.block element的HTML标签如下: address-地址blockquote-块引用center

display:inline/block/inline-block

display:inline; 内联元素,简单来说就是在同一行显示.display:block; 块级元素,简单来说就是就是有换行,会换到第二行.display:inline-block; 就是在同一行内的块级元素. 说概念太模糊,来个真实案例吧. <a href="#" style="display:inline;width:100px;height:100px;background:#ccc;">链接一</a><a href=&qu

display的inline,block,inline-block

之前用的display属性的值只会用inline或者block,这两个值的显示形式如下:      (1)inline:设置了display:inline;属性的元素,不会自动换行,并且即使元素设置了宽高也没有效果,属于行内元素,典型的inline元素有<span>, <a>, <label>, <input>, <img>, <strong> 和<em>      (2)block:设置了display:block;属性