最终代码
<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>
分享到:
相关推荐
同样,这种方法在IE6和Firefox 3中都是兼容的。 3. **嵌套在其他元素中的Span标签** 当Span标签位于其他元素内部时,可以使用display:inline-block。这个属性允许元素保持行内行为的同时设置宽度。例如: ```css...
这种方法同样在IE6和Firefox 3上表现良好,并且能兼容前两种情况。 关于 `display` 属性的差异: - `display: block;` 使元素变为块级元素,如 `<div>`,它可以设置宽度、高度、边距和内边距,内容会独占一行。 - ...
### 最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 Firefox) 在Web开发过程中,确保网站能够在不同的浏览器上正确显示是非常重要的一步。尤其在早期的Web开发时代,面对像IE6、IE7这样的浏览器,以及当时主流的...
比如在本案例中,遇到的问题是在主流的Web浏览器Firefox和IE中,<span>标签无法设置宽度。 在HTML中,<span>是一个内联元素(Inline Element),默认情况下没有固定的宽度和高度。如果开发者尝试通过CSS为<span>...
在Firefox浏览器中,这个方法通常可以正常工作,但在其他浏览器如Chrome、Safari或IE中可能需要额外的兼容性处理。例如,对于多行文本的省略,Firefox支持CSS3的`-moz-line-clamp`属性,而其他浏览器可能需要使用伪...
然而,由于`span`元素的默认行为是`display:inline`,这意味着它不能直接接受宽度(width)和高度(height)属性的设置,这往往给开发者带来困扰,特别是当他们希望`span`元素具有特定尺寸时。标题和描述中提到的...
总结一下,实现兼容IE和FF的单行溢出文本显示省略号的步骤如下: 1. 创建一个具有固定宽度的`<div>`。 2. 在`<div>`内放入一个`<span>`,并设置其宽度与`<div>`相同。 3. 对于IE,使用`text-overflow: ellipsis;`,...
Firefox和其他遵循W3C标准的浏览器不支持`text-overflow: ellipsis;`,所以我们需要采取一种替代方法。这通常涉及到使用`::after`伪元素来插入省略号,并通过浮动元素来控制宽度。 首先,我们需要在HTML中增加一...
但是,你可能会发现,这样的设置并不奏效,尤其是在Firefox和IE这样的主流浏览器中。经过查阅CSS2标准文档,我们得知`width`属性仅对那些是块级(block-level)元素的标签有效。由于`<span>`默认是内联元素,其`...
本文主要介绍了针对IE6/7/8以及Firefox浏览器的一些常见兼容性问题及其解决方案。 #### 二、DOCTYPE的重要性 **DOCTYPE**(Document Type Declaration)是文档类型声明,它告诉浏览器以何种方式解析页面。这对于CSS...
Firefox (FF) 会限制容器的高度,即使指定了 `height`,内容也不会撑高容器,而 IE 则相反。因此,避免对容器设定固定的高度,除非你能确保内容不会超过这个高度。 3. **横向撑破容器**: 在 FF 下,没有设定宽度...
当设置`div`的高度时,不同的浏览器(如Firefox和IE)在计算高度时可能存在差异。Firefox等浏览器会将`div`的实际高度视为`height + padding`,而IE则将实际高度视为`height + padding + margin`。 **解决方法:** ...
首先,让我们看看在FF3、IE6(使用IE Tester模拟)、IE7和Safari4中,行级元素使用`display: inline-block`的表现。在这些浏览器中,使用`&-n-b-s-p-;`(即非中断空格字符实体)的兼容性最佳。以下是一个示例代码: ...
常见的浏览器兼容性问题包括:IE6、IE7、IE8、Firefox、Safari、Chrome 等。 浏览器的文档类型声明 在 HTML 文档开头添加文档类型声明(DOCTYPE),可以告诉浏览器使用哪种文档类型来解析 HTML 文档。如果没有文档...
特别是旧版浏览器,比如IE6、IE7和Firefox2中,对inline-block的支持并不理想。这个问题在跨浏览器兼容性方面尤其明显。 在描述中提到的问题,是关于无序列表元素()采用inline-block后,不同浏览器渲染效果不一致...
单行溢出的实现主要是通过限制文本的换行,让其在固定宽度内显示,超出的部分用省略号替换。以下是一种常见的实现方式: ```css .whitespace-nowrap { white-space: nowrap; /* 阻止文本换行 */ overflow: hidden...
针对IE和Firefox,分别在`param`和`embed`标签中设置。 15. **图片边距问题**:在IE6中,图片默认有额外边距,通过设置`display:block`可以消除这个问题。 16. **代码命名规范**:采用有意义的命名,如`search`...
在代码的注释中提到,使用了针对不同浏览器的前缀和filter属性来确保代码在各种浏览器中都能正常显示,如针对Safari和Chrome使用的-webkit-前缀,Firefox使用的-moz-前缀。同时,filter属性在IE浏览器中用于实现渐变...