`
李俊良
  • 浏览: 146046 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

float和inline-block的一些小细节问题

阅读更多
<style> 
div{width:400px;} a{width:200px;padding:0px;margin:0px;border:none;display:inline-block} 
</style>
<div>
<a href='#'>one</a>
<a href='#'>two</a>
</div>
 

大家看个例子

简单的写一下

现在不知道为什么出现不了代码编辑器

只能写写文本了。

 

我们会看到这么写的话两个A是不能处于同一行的。

换一种style的写法

<style> 
div{width:400px;} a{width:200px;padding:0px;margin:0px;border:none;display:block;float:left;} 
</style> 
 

 

这样能够在同一行

我搜索问题原因,在一篇英文文章里面说是因为inline元素都会跟inline元素之间产生一个类似white-space的空隙

 

可以验证,通过设置a的不同背景色,然后加大div的宽度 当他们正好到同一行的时候,确实看到两个A之间有个空隙。

 

虽然这种说法我也赞同

 

但是我发现其中有一些我现在都无法解释的问题,如果有人知道可以告诉我一下。

 

就是在chrome中文版里面这个空隙将近是8px

而在chrome英文版里面却只是4px

这一点让我感觉太诡异了

然而还有一种使用inline-block但是不会出现空隙的做法

就是将html代码写成这样

 

<div>
<a href='#'>one</a><a href='#'>two</a>
</div>
 

就是将两个A写在同一行,挨着写

难道说我们平时写的换行的写法就会引起一些浏览器的兼容问题?

还是说同一行的写法尽量使用float而不是inline-block?

这一点真的很希望有人能帮我详细解释一下,万分感谢

0
0
分享到:
评论

相关推荐

    深入了解float与inline-block

    在CSS布局中,`float` 和 `inline-block` 是两种重要的布局方式,它们各有特点,且在不同场景下有着不同的应用。本文将深入探讨这两种属性的兼容性、对父元素的影响,以及它们在布局中的差异。 首先,让我们来看...

    inline-block 前世今生1

    在处理IE6和IE7的display:inline-block兼容性问题时,开发者通常会使用以下代码: ```css display:inline-block; /* 现代浏览器 */ *display:inline; /* 修复IE6、7的display:inline-block支持 */ *zoom:1; /* 触发...

    有关display:inline-block在FF出现空白的解决方案

    这个问题在标题“有关display:inline-block在FF出现空白的解决方案”中被提及。 首先,我们要理解为什么会出现这样的现象。当使用`display:inline-block`时,元素会像内联元素那样排列,但是它们仍然保留了块级元素...

    display:inline-block的实际应用

    `display:inline-block` 是 `display` 的一个值,它结合了块级元素(block-level element)和内联元素(inline element)的一些特性,为网页布局提供了更灵活的选择。在本篇文章中,我们将深入探讨 `display:inline-...

    Firefox Bug: inline/inline-block的间隙采用代码缩进可解决

    `inline-block`在某些场景下的使用频率逐渐下降,这些新的布局方式提供了更强大且兼容性更好的解决方案,可以更好地控制元素的排列和间距,从而避免了类似`inline-block`的这类问题。 总的来说,了解并掌握如何处理...

    inline-block带来的元素间距问题解决

    本文主要关注`inline-block`元素的间距问题及其解决方案,同时也会对比`block`和`inline`的特性。 首先,`display: inline-block` 是一种混合型布局模式,它结合了`inline`元素的并排显示特性与`block`元素的宽高...

    inline-block元素的4px空白间距解决方案

    有关于使用inline-block来代替float的讨论也蛮多的,最常说的就是使用inline-block来代替float进行布局,或者使用inline-block来实现元素的居中效果。前面《CSS3制作的分页导航》一文中就是使用的inline-block制作的...

    css之display属性之inline-block布局实现详解

    总之,`display`属性的`inline`、`block`和`inline-block`提供了丰富的布局选择,根据设计需求灵活运用这些属性,可以创建出各种复杂的页面布局。理解和掌握这些基本概念对于前端开发者来说至关重要。

    CSS解决inline-block的错位问题

    - 使用 `float` 或者 `flexbox` 来替代 `inline-block`,这些布局方式更加灵活且不容易出现问题。 - 对于某些特殊情况,还可以尝试使用 `transform` 属性来微调元素的位置。 #### 四、总结 通过上述分析和解决...

    5种方法快速去掉HTML中Inline-Block的空白

    在网页布局设计中,`inline-block` 属性是一个强大的工具,它允许元素具有类似`inline`元素的特性,同时能够设置`margin`和`padding`,避免了`block`和`float`布局的一些问题。然而,`inline-block`元素之间会保留...

    display:inline-block的使用示例

    总结来说,`display:inline-block`是解决浮动元素换行问题的有效方法,配合`white-space:nowrap`和`font-size:0`可以实现紧密排列的多列布局。这种布局技术在网页设计中有着广泛的应用,尤其是在创建响应式布局和...

    让IE6/IE7支持display:inline-block属性的两种方法

    然而,IE6和IE7这两个较老的浏览器对`display:inline-block`的支持并不完善,这给开发者带来了不小的困扰。为了解决这个问题,本文将详细介绍两种方法,使得这些旧版IE浏览器也能正确地处理`display:inline-block`。...

    使用font-size:0px 来制作跨浏览器的inline-block css属性

    在实现`inline-block`布局时,开发者可能遇到的一个问题是Firefox、Safari、Opera和IE8+等现代浏览器会在相邻的`inline-block`元素间产生3像素的间距。这是因为HTML源码中的换行符被浏览器解析为一个空格,导致了这...

    CSS教程:inline-block在各浏览器的显示

    本文主要探讨的是`display: inline-block`这个声明,它在不同浏览器中的行为和兼容性问题。`inline-block`允许元素既保持内联元素的特性(如文本在同一行显示),又可以具有块级元素的特性(如设置宽高)。然而,...

    CSS inline-block属性概述及其使用示例

    CSS中的`inline-block`属性是`display`属性的一个值,它允许元素同时具有行内元素(inline elements)和块级元素(block elements)的特点。理解`inline-block`的关键在于其结合了两者的优势:行内元素的水平布局...

    详解CSS 去掉inline-block元素间隙的几种方法

    在CSS布局设计中,inline-block元素的间隙问题时常困扰着开发者。这种间隙可能导致布局错位,影响整体的视觉效果。本文将深入探讨inline-block元素的特性,分析间隙产生的原因,并提供多种有效的解决方法。 一、...

    flex:使用(Inline-block,float,flex)创建三个相同的块。 320-580、580-1023、1024像素(移动设备优先)。 使用calc()和var()函数。 将全局变量用于块颜色和填充。 侧边栏只能在弯曲时与相邻块一起伸展,在浮点数上,内联块不会为此而烦恼

    柔性使用(Inline-block,float,flex)创建三个相同的块。 320-580、580-1023、1024像素(移动设备优先)。 使用calc()和var()函数。 将全局变量用于块颜色和填充。 边栏只能在浮动,内联块和浮动块中与相邻块...

    css display inline block 兼容性问题写法

    然而,当涉及到IE6和IE7这两种较早的浏览器版本时,会发现它们不支持display: inline-block属性,从而导致布局上的兼容性问题。 在IE6和IE7浏览器中,尽管使用display: inline-block无法正常工作,但是可以通过设置...

    如何消除inline-block属性带来的标签间间隙

    - 将 `inline-block` 元素设置为 `float: left` 或 `float: right`,这将使元素浮动并消除间距,但可能会导致其他布局问题,需要额外处理。 - 使用 `position: absolute` 使元素绝对定位,但这种方法需要设置元素...

Global site tag (gtag.js) - Google Analytics