您的当前位置:首页正文

关于Css3的inline-block遇到的坑

2020-11-27 来源:星星旅游

p之间的间距解决的方法

在这里我尝试过一个方法就是设置margin-right为负值,

<p style="background-color:green">
 <p style="width:40px;height:30px;background-color:red;display:inline-block;margin-bottom:-4px;margin-right:-4px">

 </p>
 <p style="width:40px;height:30px;background-color:red;display:inline-block;margin-bottom:-4px;margin-right:-4px">

 </p>
 <p style="width:40px;height:30px;background-color:red;display:inline-block;margin-bottom:-4px;margin-right:-4px">

 </p>
 </p>

在这里我们能看到第一个p与第二个p仍然有一个1px的间距,而第二个和第三个没有间距,子p和父p没有间距,说明我们的问题不是在这里

我在参考张旭鑫大神的博客深感佩服觉得采用这种方法最好:

给父p加这样的css属性

font-size:0
-webkit-text-size-adjust:none;

po出代码

<p style="background-color:green;font-size:0;-webkit-text-size-adjust:none;">

 <p style="width:40px;height:30px;background-color:red;display:inline-block;">

 </p>

 <p style="width:40px;height:30px;background-color:red;display:inline-block;">

 </p>

 <p style="width:40px;height:30px;background-color:red;display:inline-block;">

 </p>

那么又有一个问题了,-webkit-text-size-adjust是什么????

webkit内核的浏览器(chrome)中,当在css中定义的中文font-size小于12px的时候,浏览器仍然使用12px,这时就可以用-webkit-text-size-adjust:none;

哈哈,这样我们的问题就解决了


最后说下inline-block的兼容性:参考这篇文章
-->
IE6、IE7不识别inline-block但可以触发块元素。其它主流浏览器均支持inline-block。这就够了,ie6,7就不考虑了,原因嘛,你懂的...