display:inline-block详解
日期:2013-12-13 来源:攀枝花惠康网络公司
在前端开发中,我们遵循结构,默示,行为相分手。所以将润色型图片操作css的background把它写在默示层中。那最常见的就是icon的应用。如:
1 <a class="icon-flickr" href="http://www.css88.com/">去我的flickr相册</a>。这是操作行内元素的左侧内间距(padding-left)实现的icon+文字的组合。首先先对行内元素(inline elements,好比span,a,b等。)和块元素(block elements,好比div,h1,p等)进行一下常识回首回头回忆.简而言之,它们的区别可以分为下几点
- 块元素会自动在末尾加一个换行,而行内元素不会。
- 块元素可以界说自身的高度(width)和宽度(height),而行内元素不成以。
- 块对象界说的自身垂直边距可以改变行高,而行内元素虽然可以界说但改变不了行高。
但有时辰,我们还需要此外一种默示形式,只是零丁的icon而不需要文字或者链接,而且是图文混排。也许你想只要把span琅缦沔的文字删除不就可以了么,现实上并非如你所愿。
1 <a class="icon-flickr" href="http://www.flickr.com/liuzhitao"></a>。如不美观你此刻在ie下,必定什么也看不到。原因是行内元素在内容为空的情形下,ie认为它的width为0。
1 <a class="icon-flickr"> </a>,此刻在ie下可以看到了。按照行内元素的特征,并不能为其设置一个宽度来解决,所以只能在琅缦沔加一个毫无意义的空格用来占位,来生成一个高度值,但在无css的前提下(在spider的眼里),无法得知它为何物。如下:
1 <a class="icon-flickr"> </a>所以这样的解决方案让人无法接管。
使用inline-block就可以解决这个问题
经由过程将外包元素设置为inline-block,操作有inline的行级特征和block的指定高度和宽度的特征。再经由过程将内嵌标签中的诠释文字潜匿来实现该效不美观。
1 你会在这里看到两个并排的icon,它们是“<a class="icon" href="http://www.css88.com/">~这里飘过无尽的诠释性文字啊!~</a><apan class="crayon-o">>~这里飘过无尽的诠释性文字啊!~</a>”,flick的icon,它和文字在一路。代码如下:
123456789101112131415161718192021 .icon{display:inline-block;/* ie8,firefox3,safari,opera */display:-moz-inline-stack;/* firefox2,-moz-inline-box其实也可以,但在某些情形下涣有些异常-_-b */*display:inline;zoom:1;/*ie6,7,在ie中,如不美观该class应用在行内元素中的时辰, display:inline-block 会触发layout.年夜而使该元素拥有inline-block的特征,但为了考虑到通用性,使其能在块元素中应用,所以使用zoom:1来触发layout*/width:20px;height:20px;vertical-align:middle; /* 这个用来对opera的hack,使其垂直居中 */overflow:hidden; /* 针对ie,防止内容溺出,造成的高度及宽度文章来源:攀枝花惠康网络公司
惠康网络,是一家专业从事攀枝花网站建设,攀枝花网站制作,攀枝花网站设计公司,提供网站建设一条龙服务(网站域名注册+网站服务器租用+网站开发+网站维护+网站营销推广),惠康网络立足攀枝花,辐射全中国,攀枝花惠康网络的客户已经遍布国内各地大中小城市,我们高效优质的网站建设服务深受用户好评。