`
yuyue618
  • 浏览: 61016 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

让span有固定宽度 兼容IE和firefox

阅读更多

最终代码

<span style="width:40px;display:-moz-inline-box;display:inline-block;">1.</span>

------------------------------------

解释下过程

http://www .w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http ://www.w3.org/1999/xhtml " >

<head>

<title>Test Span</title>

<style type="text/css">

span {

background-color:#ffcc00;

width:150px ;

}

</style>

</head >

<body>

fixed <span >width</span> span

</body>

</html>



通过试验以后发现,无效,无论是在Firefox还 是IE中都无效 。

通过查阅 CSS2标准中关于width 的定义发现,原来CSS中的 width 属性并不总是有效的,如果对象是 inline 对象,width 属性就会被忽略。Firefox 和 IE 原来是遵循了标准才这样做的。

修改 span 为 block 类型并设置 float 不是完美解决

在span的CSS中增加display属性,将span设置为block类型的Element,这样宽度的确有效了,不过也把前后文字隔在不同行里面。这样其实span就完全变成了div。

span { background-color:#ffcc00; display:block; width:150px;}

很多人会建议再增加一个CSS 属性 float ,这样的确在某种条件下能解决问题。比如我们的例子中,如果span前面没有文字
,那的确是可行的。但是如果有了,前后文字就会连在一起,而span跑到了第二行。span { background-color:#ffcc00;
display:block; float:left; width:150px;}

设置 span 宽度的完美解决方案

下面代码的 CSS定义完美解决了span的宽度设置问题。由于浏览器通常对不支持的CSS属性采取忽略处理的态度,所以最好将
display:inline -block行写在后面,这样在Firefox里面,如果到了未来的Firefox
3,这一行就能起作用,代码可以同时兼容各种版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head><title>Test Span</title>

<style type="text/css">

span { background-color:#ffcc00; display:-moz-inline-box; display:inline-block; width:150px;}

</style>

</head>

<body>

fixed <span>width</span> span

</body></html>

分享到:
评论

相关推荐

    CSS中如何把Span标签设置为固定宽度.pdf

    同样,这种方法在IE6和Firefox 3中都是兼容的。 3. **嵌套在其他元素中的Span标签** 当Span标签位于其他元素内部时,可以使用display:inline-block。这个属性允许元素保持行内行为的同时设置宽度。例如: ```css...

    CSS中将Span标签设置为固定宽度的方法

    这种方法同样在IE6和Firefox 3上表现良好,并且能兼容前两种情况。 关于 `display` 属性的差异: - `display: block;` 使元素变为块级元素,如 `&lt;div&gt;`,它可以设置宽度、高度、边距和内边距,内容会独占一行。 - ...

    最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 FireFox)

    ### 最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 Firefox) 在Web开发过程中,确保网站能够在不同的浏览器上正确显示是非常重要的一步。尤其在早期的Web开发时代,面对像IE6、IE7这样的浏览器,以及当时主流的...

    在Firefox或IE中span无法确定宽度的解决方案

    比如在本案例中,遇到的问题是在主流的Web浏览器Firefox和IE中,&lt;span&gt;标签无法设置宽度。 在HTML中,&lt;span&gt;是一个内联元素(Inline Element),默认情况下没有固定的宽度和高度。如果开发者尝试通过CSS为&lt;span&gt;...

    firefox下溢出部分省略号显示

    在Firefox浏览器中,这个方法通常可以正常工作,但在其他浏览器如Chrome、Safari或IE中可能需要额外的兼容性处理。例如,对于多行文本的省略,Firefox支持CSS3的`-moz-line-clamp`属性,而其他浏览器可能需要使用伪...

    span无法设置宽度的问题的解决方法

    然而,由于`span`元素的默认行为是`display:inline`,这意味着它不能直接接受宽度(width)和高度(height)属性的设置,这往往给开发者带来困扰,特别是当他们希望`span`元素具有特定尺寸时。标题和描述中提到的...

    兼容IE和FF的单行溢出文本显示省略号

    总结一下,实现兼容IE和FF的单行溢出文本显示省略号的步骤如下: 1. 创建一个具有固定宽度的`&lt;div&gt;`。 2. 在`&lt;div&gt;`内放入一个`&lt;span&gt;`,并设置其宽度与`&lt;div&gt;`相同。 3. 对于IE,使用`text-overflow: ellipsis;`,...

    用css使单行超出指定宽度的内容切去并在结尾出现省略号

    Firefox和其他遵循W3C标准的浏览器不支持`text-overflow: ellipsis;`,所以我们需要采取一种替代方法。这通常涉及到使用`::after`伪元素来插入省略号,并通过浮动元素来控制宽度。 首先,我们需要在HTML中增加一...

    设置span 宽度的完美解决方案

    但是,你可能会发现,这样的设置并不奏效,尤其是在Firefox和IE这样的主流浏览器中。经过查阅CSS2标准文档,我们得知`width`属性仅对那些是块级(block-level)元素的标签有效。由于`&lt;span&gt;`默认是内联元素,其`...

    css浏览器兼容性前端人员的必备

    本文主要介绍了针对IE6/7/8以及Firefox浏览器的一些常见兼容性问题及其解决方案。 #### 二、DOCTYPE的重要性 **DOCTYPE**(Document Type Declaration)是文档类型声明,它告诉浏览器以何种方式解析页面。这对于CSS...

    DIV+CSS浏览器的兼容性_大前端1

    Firefox (FF) 会限制容器的高度,即使指定了 `height`,内容也不会撑高容器,而 IE 则相反。因此,避免对容器设定固定的高度,除非你能确保内容不会超过这个高度。 3. **横向撑破容器**: 在 FF 下,没有设定宽度...

    浏览器CSS方面兼容手册.txt

    当设置`div`的高度时,不同的浏览器(如Firefox和IE)在计算高度时可能存在差异。Firefox等浏览器会将`div`的实际高度视为`height + padding`,而IE则将实际高度视为`height + padding + margin`。 **解决方法:** ...

    css 行级元素在多浏览器下的宽度问题 与解决方法

    首先,让我们看看在FF3、IE6(使用IE Tester模拟)、IE7和Safari4中,行级元素使用`display: inline-block`的表现。在这些浏览器中,使用`&-n-b-s-p-;`(即非中断空格字符实体)的兼容性最佳。以下是一个示例代码: ...

    2023最新前端面试题总结

    常见的浏览器兼容性问题包括:IE6、IE7、IE8、Firefox、Safari、Chrome 等。 浏览器的文档类型声明 在 HTML 文档开头添加文档类型声明(DOCTYPE),可以告诉浏览器使用哪种文档类型来解析 HTML 文档。如果没有文档...

    跨浏览器的inline-block声明上承诺了很多提供的却很少

    特别是旧版浏览器,比如IE6、IE7和Firefox2中,对inline-block的支持并不理想。这个问题在跨浏览器兼容性方面尤其明显。 在描述中提到的问题,是关于无序列表元素()采用inline-block后,不同浏览器渲染效果不一致...

    CSS实现单行、多行文本溢出显示省略号的实现方法.docx

    单行溢出的实现主要是通过限制文本的换行,让其在固定宽度内显示,超出的部分用省略号替换。以下是一种常见的实现方式: ```css .whitespace-nowrap { white-space: nowrap; /* 阻止文本换行 */ overflow: hidden...

    div+css布局中常用方法汇总.docx

    针对IE和Firefox,分别在`param`和`embed`标签中设置。 15. **图片边距问题**:在IE6中,图片默认有额外边距,通过设置`display:block`可以消除这个问题。 16. **代码命名规范**:采用有意义的命名,如`search`...

    CSS实现自适应宽度的菜单按钮效果代码

    在代码的注释中提到,使用了针对不同浏览器的前缀和filter属性来确保代码在各种浏览器中都能正常显示,如针对Safari和Chrome使用的-webkit-前缀,Firefox使用的-moz-前缀。同时,filter属性在IE浏览器中用于实现渐变...

Global site tag (gtag.js) - Google Analytics