html - 在所有浏览器中以 45 度显示文本

标签 html css internet-explorer internet-explorer-7 rotation

我遇到了一个特殊问题,要求以 45 度 Angular 显示一段文本。要求是支持“所有浏览器”,但是我设法消除了 IE6(非常感谢)和旧版本的 Mozilla/Opera。这个显示的要求是这样的:

enter image description here

我可以使用这个 CSS/HTML 在兼容 CSS3 的浏览器(几乎所有的最新版本)中进行排序:

<style type="text/css">
.homepage-top .red-corner {
    position: absolute;
    right: 0px;
    top: 300px;
    width: 0px;
    height: 0px;
    border-top: 55px solid #e11e2d;
    border-left: 55px solid transparent;
    z-index: 9;
}

.homepage-top .free {
    position: absolute;
    right: 3px;
    top: 310px;
    text-transform: uppercase;
    color: white;
    font-size: 10pt;
    font-weight: bold;
    z-index: 10;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg); 
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -sand-transform: rotate(45deg);
    transform: rotate(45deg);
}
</style>

<div class="red-corner"><!-- --></div>
<div class="free">free</div>

它适用于 IE9 和更新的 Firefox、Safari 和 Opera。然后我需要让 IE7 和 IE8 正常工作——这就是它变得有趣的地方。我可以在 IE7 上使用 filter 并在 IE8 上使用 -ms-filter - 我确实得到了非常有趣的结果。

过滤器/-ms-filter 看起来像这样:

filter: progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476); /* IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"; /* IE8 */

将此添加到 .homepage-top .free 选择器会导致 IE7 正确显示旋转的文本(虽然有一些黑色到白色字母,但我可以接受) - 但它会忽略绝对是 css 文件中该行之后的所有内容。删除 filter 行会恢复 CSS 的其余部分,但自然不会旋转文本。

在 IE8 中一切正常,但是将此添加到选择器会导致 IE9 出现故障。似乎 IE9 正在尝试同时使用 -ms-filter-ms-transform 属性 - 这会导致一些内部困惑。结果,IE9 显示如下:

enter image description here

显然,这里出了点问题 - 但我该如何解决这个问题,以便它在 IE7、8 和 9 中工作?

非常感谢。

最佳答案

您可以使用条件注释为每个 MSIE 提供自己的样式表。 http://de.wikipedia.org/wiki/Conditional_Comments

<!--[if lte IE 8]> <style>...</style> <![endif]-->

<!--[if IE 9]> <style>...</style> <![endif]-->

关于html - 在所有浏览器中以 45 度显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402092/

相关文章:

html - <p 和 <h2 align=center 不工作

jquery - 验证错误消息在有效时不会隐藏

html - 导航栏适用于 chrome 和 firefox,但不适用于 Internet Explorer

javascript - 如何将 Internet Explorer 用户重定向到新页面?

internet-explorer - 控制 IE 的程序能否检测到是否遇到 HTTP 30x 代码?

javascript - 表存在但检查时返回0

html - PSD 切片良好实践

html - 如何更改鼠标悬停时的div背景图像

html - 无法更改 html 'option' 标签内 'select' 的背景颜色

html - 没有 "line feed"的 "carriage return"在 HTML 中可能吗?