CSS选择器中的大写HTML标记

时间:2017-03-22 17:41:42

标签: html css css-selectors

在查看网站的源代码时,我遇到了 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>

我的问题:

  1. 用于CSS选择器的大写HTML标记是否可以在今天使用,或者这种风格/习惯是否已被弃用?
  2. 使用了哪些HTML和/或CSS版本?
  3. 关于这种造型技术还有什么可以告诉我的吗?

1 个答案:

答案 0 :(得分:3)

  1.   

    用于CSS选择器的大写HTML标签今天是否可以使用,或者这种风格/习惯是否已被弃用?

    它仍然可以接受HTML,因为它既不会被禁止也不会被弃用,但它确实会给那些可能阅读您的源代码的人带来相当讨厌的90年代氛围。但实际上,它没有任何区别。请注意,我说“在HTML中”; XHTML完全是一个不同的故事。

    我说90s的原因是因为......

  2.   

    使用了哪些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年代中期看样式表中的大写类型选择器。

  3.   

    关于这种造型技术,还有什么可以告诉我的吗?

    Most selectors are normally case-insensitive,所以你的HTML标签名称和CSS类型选择器没有区别,因为HTML本身没有任何限制。

    唯一的例外是文档语言 区分大小写,因此 对选择器设置了限制。这就是XHTML(以及任何基于XML的语言)变得相关的地方 - 如果选择器的情况与XML标记名称的情况不匹配,则选择器将不匹配。但即使这对于像SVG这样的东西比对XHTML更为相关,因为XHTML现在几乎已成为过去。 事实上的标准一直是HTML。

    然而,自Y2K以来的现代惯例一直是在HTML中使用小写标签名称,在CSS中使用CSS类型选择器。许多人说这是为了与XHTML兼容; XHTML在这一现代会议中是否真正具有重大影响力是值得商榷的,坦率地说无关紧要。