在查看网站的源代码时,我遇到了 IMG 标记,我想为什么他们不在CSS文件中使用 img 。我查看了javavscript代码,然后看到 IMG 全部都是大写的。相关代码适用于本网站上的jquery滑块:Sernova.com
有问题的CSS是:
/* Slide show */
#slideshow {position:relative;height:300px;}
#slideshow IMG {position:absolute;top:32px;left:0;z-index:8;opacity:0.0;
border-top-left-radius:10px;border-bottom-right-radius:10px;}
#slideshow IMG.active {z-index:10;opacity:1.0;}
#slideshow IMG.last-active {z-index:9;}
Javascript就是这样:
function slideSwitch() {
var $active = $('#slideshow IMG.active');
if ( $active.length == 0 ) $active = $('#slideshow IMG:last');
// use this to pull the images in the order they appear in the markup
var $next = $active.next().length ? $active.next()
: $('#slideshow IMG:first');
$active.addClass('last-active');
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}
css和javascript引用的HTML片段在这里:
<!-- mast slideshow -->
<div id="slideshow">
<img src="home/mast_1.jpg" alt="Slideshow Image 1" class="active" />
<img src="home/mast_2.jpg" alt="Slideshow Image 2" />
<img src="home/mast_3.jpg" alt="Slideshow Image 3" />
</div>
我的问题:
答案 0 :(得分:3)
用于CSS选择器的大写HTML标签今天是否可以使用,或者这种风格/习惯是否已被弃用?
它仍然可以接受HTML,因为它既不会被禁止也不会被弃用,但它确实会给那些可能阅读您的源代码的人带来相当讨厌的90年代氛围。但实际上,它没有任何区别。请注意,我说“在HTML中”; XHTML完全是一个不同的故事。
我说90s的原因是因为......
使用了哪些HTML和/或CSS版本?
大写约定的历史可以追溯到SGML,以前的HTML版本都是基于此版本。 CSS中存在相同约定的唯一原因就是CSS与HTML密切相关 - 在HTML 2.0之后很长时间才引入CSS - 所以大写标记名称的规范只是因为嘿,标记名称而继续存在。
无论出于何种原因,这个约定在XHTML之后很久就存在了,其中标签名称总是小写的,变成了内容(虽然最终它并不重要because people were actually authoring HTML, not XHTML, despite what their DOCTYPEs would suggest),你只是真的停止了在00年代中期看样式表中的大写类型选择器。
关于这种造型技术,还有什么可以告诉我的吗?
Most selectors are normally case-insensitive,所以你的HTML标签名称和CSS类型选择器没有区别,因为HTML本身没有任何限制。
唯一的例外是文档语言 区分大小写,因此 对选择器设置了限制。这就是XHTML(以及任何基于XML的语言)变得相关的地方 - 如果选择器的情况与XML标记名称的情况不匹配,则选择器将不匹配。但即使这对于像SVG这样的东西比对XHTML更为相关,因为XHTML现在几乎已成为过去。 事实上的标准一直是HTML。
然而,自Y2K以来的现代惯例一直是在HTML中使用小写标签名称,在CSS中使用CSS类型选择器。许多人说这是为了与XHTML兼容; XHTML在这一现代会议中是否真正具有重大影响力是值得商榷的,坦率地说无关紧要。