inline-block代替浮动布局float:left列表布局最佳方案

基于各位前辈的辛勤劳动,下面得出使用inline-block替换float:left;的最佳方案。

html代码

<div class="list">
    <ul>
        <li><img src="images/pic02.jpg" ></li>
        <li><img src="images/pic02.jpg" ></li>
        <li><img src="images/pic02.jpg" ></li>
        <li><img src="images/pic02.jpg" ></li>
        <li><img src="images/pic02.jpg" ></li>
        <li><img src="images/pic02.jpg" ></li>
    </ul>
</div>

css代码(来自taobaoued)

.list {
font-size:0;/* 所有浏览器 */
*word-spacing:-1px;/* IE6、7 */
}
.list ul li{
font-size: 12px;
letter-spacing: normal;
word-spacing: normal;
vertical-align:top;
display: inline-block;
*display:inline;
*zoom:1;
}
@media screen and (-webkit-min-device-pixel-ratio:0){
/* firefox 中 letter-spacing 会导致脱离普通流的元素水平位移 */
.list{
letter-spacing:-5px;/* Safari 等不支持字体大小为 0 的浏览器, N 根据父级字体调节*/
}
}

最终效果图完美兼容

查看演示

使用inline-block替换float:left的列表法不是一个hack,而是一个进步。

使用inline-block的时候,要注意在IE7和IE6下用背景替换文字的时候,会出现一个bug,解决方法是用font-size:0; line-height:0;替换text-indent:-9999px;,bug在这篇:inline-block和text-indent在ie7以下的兼容 提到了。

时间: 2024-08-28 12:25:19

inline-block代替浮动布局float:left列表布局最佳方案的相关文章

拜拜了,浮动布局-基于display:inline-block的列表布局——张鑫旭

一.一抹前言 没有爱的日子,时间如指尖细沙,不知不觉就流逝了.写“CSS float浮动的深入研究.详解及拓展(一)”和“CSS float浮动的深入研究.详解及拓展(二)”似乎就在不久前,然而相隔差不多有一年之久了.文章最后留下了“浮动布局更好的替代方案是什么?”后文再介绍的预告. 由于自己肚子中的货物不足以撑起一篇足够质量的文章,所以关于“浮动布局更好的替代方案是什么?”的文章一直并未动笔.好在事物总是在发展的,我也是每天都是在进步,对于列表布局的思考也愈发成熟.加上正好前不久又有人询问我“

HTML学习笔记4——浮动布局float

本文犯了一个错误,就是:需要把 id=xx换成id=”xx“,由于不想再贴一遍代码,故在此说明,更正一下: 再加一个内容:<style></style>中不可以加注释? 只定义子div的高和宽时,父div会被”撑大“: 一.浮动布局,写于<style>   ~   </style>标签中: 语法: float:left: float:right: 二.清除浮动布局,在需要完全显示的那个div的在<style>   </style>控制

基于display:inline-block的列表布局

一.用float(浮动)实现列表布局的局限 一说起列表布局.大家首先想到的就是用浮动float.这是相当常见的也是目前最最主流的列表布局方式,所以这里就不吃咸鱼蘸酱油--多此一举了.对于浮动局部的局限性,想必同行们都知道,就是每个列表元素的高度必须要一致,否则就会像是俄罗斯方块一样,"锯齿相错",例如一个左浮动列表布局,如果第一行有个列表高度高于其他列表,那就在第二行,第一个元素会沿着最高元素的右侧对齐,此原因是属于恶魔系的float属性破坏了inline box.如下图: 浮动本身就

【前端】Vue.js实现网格列表布局转换

网格列表布局转换 实现效果: 实现代码及注释: <!DOCTYPE html> <html> <head> <title>布局转换</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-e

前端(七)—— 高级布局:文档流、浮动布局、流式布局、定位布局、flex布局、响应布局

高级布局:文档流.浮动布局.流式布局.定位布局.flex布局.响应布局 一.文档流 1.什么是文档流 将窗体自上而下分成一行一行,块级元素从上至下.行内元素在每行中从左至右的顺序依次排放元素 2.本质 文档流本质是 nomal flow (普通流.常规流) 3.BFC(Block Formatting Contxt) 块级格式化上下文,它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干 4.BFC的规则

2019.12.5-特征布局,新闻列表 代码

<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <title>特征布局</title></head><style type="text/css"> .news_list_com{ width: 600px; height: 290px; border:1px solid #ddd

2019.12.09-新闻列表布局代码

<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <title>特征布局</title></head><style type="text/css"> .news_list_com{ width: 600px; height: 290px; border:1px solid #ddd

CSS 布局Float 【4】

一些浮动模型的基本知识:浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float属性值而定),直到它的外边缘碰到包含框 或者另一个浮动元素的框的边缘.浮动元素不在文档的普通流中,文档的普通流中的元素表现的就像浮动元素不存在一样.<CSS Mastery>里作者画了几个图非常有意思,可以帮助我们理解浮动的表现. 不浮动     <div style="border: solid 5px #0e0; width:300px;">             

Bootstrap页面布局9 - BS列表

列表: 无序列表(列表中项目内容没有固定的顺序), 有序列表(通常使用在一组有前后顺序的内容上), 描述列表(定义解释一组词汇) 无序列表: <ul> <li>Ueditor编辑器</li> <li>TinyMCE编辑器</li> <li>Kindeditor编辑器</li> </ul> 如图: 有序列表: <ol> <li>Ueditor编辑器</li> <li>