Html 设计禁用CSS的页面

Html 设计禁用CSS的页面,html,css,Html,Css,我目前正在设计一个使用深色背景的网站,出于兴趣,我禁用了CSS并查看了一下。因为它在语义上进行了标记,没有样式,它仍然是一个连贯的文档,除了我的标题图像是白色,并且因为默认的背景颜色也是白色,所以你根本看不到标题。(标题标记为h1/h2/h3,然后Javascript用图像替换它们) 现在我知道这是一个很小的边缘案例,用户没有CSS,但是有javascript,所以这是一个非常理论而不是实际的问题,但是我是否应该回到旧的和过时的背景颜色设置方式: <body bgcolor="#33333

我目前正在设计一个使用深色背景的网站,出于兴趣,我禁用了CSS并查看了一下。因为它在语义上进行了标记,没有样式,它仍然是一个连贯的文档,除了我的标题图像是白色,并且因为默认的背景颜色也是白色,所以你根本看不到标题。(标题标记为h1/h2/h3,然后Javascript用图像替换它们)

现在我知道这是一个很小的边缘案例,用户没有CSS,但是有javascript,所以这是一个非常理论而不是实际的问题,但是我是否应该回到旧的和过时的背景颜色设置方式:

<body bgcolor="#333333">


…这样你仍然可以看到白色的图像吗?

不,你不应该。出于某种原因,不推荐使用这些属性。有更好的方法来解决这类问题。正如其他人所建议的,让Javascript检测CSS是否被禁用,这样它就不会在这些情况下进行更改


禁用CSS的普通用户希望看到的东西并不完全符合创建者的意图。要处理使用替代浏览器的用户(如盲用户),请确保完全准确地填充图像的ALT标记等。

我通常也通过CSS插入标题图像

<h2 class="my-heading"><span class="hide">My Heading</span></h2>
因此,没有CSS环境的用户可以获得文本版本1

编辑:感谢您提供了更好的替代方法(文本缩进:-9999px;)并指出了缺少的内容(我的错)。查看评论部分


编辑2:谢谢。下次我一定会再检查一遍

给你的JS添加一些智能。我不知道如何在JS中做到这一点,但是检测CSS是否被禁用,然后做一些不同的响应。JS是导致页面无法阅读的罪魁祸首,因此它应该有解决方案。将修复放在样式标记中只会导致更加复杂

例如,没有CSS的人可能也不支持样式标记!此外,它可能是一个盲人用户和屏幕阅读器,他们没有任何文本和图像,而是相当侮辱。最好设置您的ALT文本等。

非编码解决方案:

在标题图像周围添加一条暗边怎么样?在正常的深色背景中,标题图像/文本周围的深色边缘不会太显眼;同时,当css被禁用时,标题图像/文本仍然可以作为大纲阅读。

我使用文本缩进:-9999来隐藏文本a,如上所述,跨度是不必要的。其次,标题不需要显示:block?是的,这也是一个很好的方法。只要文本是隐藏的,图像是通过CSS引入的,那么你就明白了哦,我忘了。谢谢你,卡兰。我相信你的意思是。我的标题而不是我的标题——回答得不错。对背景和默认背景颜色使用css将获得所需的结果。hmm白色文本上的白色图像。你没有使用透明PNG,是吗?如果你是,那么你就有更大的问题。对于需要遵守第508节的网站来说,这不是一个理论问题。老实说,我不明白你为什么要这样做。正如Eddie所说,这些方法被贬低是有原因的,并且很少有用户使用不能处理CSS的浏览器。没有启用javascript是比没有启用CSS更常见的情况。您应该使用css而不是javascript将标题替换为图像。@simon,re:Transparent PNGs。。是的,他们是。。螺钉IE6@克里斯蒂安,如果JS被禁用,那么用户仍然会得到标题文本,这对我来说没关系。什么!如果有人没有启用css,那么他们是否有可能启用javascript?这就是问题的作者所问的情况。我同意这不太可能。但如果网站使用非平面背景(如渐变),那将是一件令人头痛的事。尽管如此,这是一个很好的观点。
.my-heading {
    width: 100px;
    height: 24px;
    display: block;
    background: #fff url(image/my-heading.jpg) top left no-repeat;
}

.hide {
    display: none;
}