css布局实例之去除行内元素间的空白间隙

来源:互联网 发布:淘宝恶意举报假货 编辑:程序博客网 时间:2024/05/20 07:59

我在这里总结一些工作中会遇到的css布局例子。

这里写图片描述

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width,     initial-scale=1, minimum-scale=1, maximum-scale=1,     user-scalable=no">    <title>布局实例1</title>    <style type="text/css">        .content-wrapper{            background: #000;            color: #fff;            padding: 24px 12px 18px 24px;            font-size: 0;        }        .avatar{            display: inline-block;        }        .content{            display: inline-block;            font-size: 14px;            margin-left: 16px;             vertical-align: top;        }    </style></head><body>    <div class="content-wrapper">        <div class="avatar">            <img width="64" height="64" src="./img/avatar.jpg">        </div>        <div class="content">            <div class="title">                <span class="name">商家信息</span>                  </div>            <div class="description">                商家名称            </div>              </div>      </div>  </body></html>
ps:这里为了方便,将css和js写在一起,未做分离。

这个布局需注意的几个地方:

1、行内并排要可用display:inline-block;这个属性;

2、细节问题:会发现avatar和content并排之间是有一个缝隙的,产生原因是其间有些空白字符。消除空白字符的办法–给其父元素设置font-size:0。

这里写图片描述

3、当给父元素设置了font-size:0时,会发现文字消失了,由于自身未对文字设置font-size,要是继承了它的父元素,于是,需给content设置font-size。现在符合预期:avatar和content这2层贴合在一起,没有缝隙。

这里写图片描述

4、再对content设置margin-left属性,这样,就符合设计稿给的间距。且再对content设置对齐方式(顶部对齐)–vertical-align: top;就得到我们想要的布局效果。

附:若这里想要的效果是图片为圆角,就对其设置border-radius属性。

.avatar img{            border-radius: 50px;        }

这里写图片描述

原创粉丝点击