css选择器命名规则:差异及可能产生的问题

文章简介:W3C CSS2.1的 4.1.3 节中提到:标识符(包括选择器中的元素名,类和ID)只能包含字符[a- zA-Z0-9]和ISO 10646字符编码U+00A1及以上,再加连字号(-)和下划线(_);它们不能以 数字,或一个连字号后跟数字为开头。它们还可以包含转义字符加任何ISO 10646字符作为一个数

操作系统版本:Windows 7

浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.356.2 dev

受影响的浏览器:所有浏览器.

经常讲到css选择器命名规则,其实不只是在团队合作基础上来讲这个,每个浏览器,IE产品,火狐,苹果,谷歌,都会因为命名不规范会产生不同样式..

一、关于选择器的命名

W3C CSS2.1的 4.1.3 节中提到:标识符(包括选择器中的元素名,类和ID)只能包含字符[a- zA-Z0-9]和ISO 10646字符编码U+00A1及以上,再加连字号(-)和下划线(_);它们不能以 数字,或一个连字号后跟数字为开头。它们还可以包含转义字符加任何ISO 10646字符作为一个数 字编码。

由于设计到的字符很多,本文只针对字符[a-zA-Z0-9],再加连字号(-)和下划线(_)进行讨论。 关于CSS中允许使用的字符和大小写信息,请参考W3C CSS2.1的4.1.3节

二、差异及可能产生的问题

在W3C CSS2.1说明文档中,只提到选择器标识符不能以数字,或一个连字号后跟数字为开头。除 此之外,没有相关的说明。那么各浏览器下的表现是否遵循这一规则呢?

请观察如下代码:

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
div{width:160px;height:20px;font-size:12px;line-height:20px;background- color:yellow;}

.f-1_f_{background-color:#d4d4d4;}

.1{background-color:#A8A8A8;}

.123456{background-color:#d4d4d4;}

.2demo{background-color:#A8A8A8;}

.2-demo {background-color:#d4d4d4;}

.2_demo {background-color:#A8A8A8;}

.-demo{background-color:#d4d4d4;}

.-2demo {background-color:#A8A8A8;}

._demo {background-color:#d4d4d4;}

._2demo {background-color:#A8A8A8;}

.-{background-color:#d4d4d4;}

.---{background-color:#A8A8A8;}

._{background-color:#d4d4d4;}

.——{background-color:#A8A8A8;}

._-{background-color:#d4d4d4;}

.-_{background-color:#A8A8A8;}

.-{background-color:#d4d4d4;}

.---_{background-color:#A8A8A8;}

.---123{background-color:#d4d4d4;}

.__123{background-color:#A8A8A8;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<div
						class="f-1_f_">字母开头</div>
<div
						class="1">单个数字</div>
<div
						class="123456">多个数字</div>
<div
						class="2demo">数字开头 + [a-z][A-Z]</div>
<div
						class="2-demo">数字 + "-" 开头</div>
<div
						class="2_demo">数字 + "_" 开头</div>
<div
						class="-demo">连字符(-)开头 + [a-z][A-Z]</div>
<div
						class="-2demo">连字符(-) + 数字 开头</div>
<div
						class="_demo">下划线(_)开头 + [a-z][A-Z]</div>
<div
						class="_2demo">下划线(_) + 数字 开头</div>
<div
						class="-">单个连字符(-)</div>
<div
						class="---">多个连字符(-)</div>
<div
						class="_">单个下划线(_)</div>
<div
						class=" 	">多个下划线(_)</div>
<div
						class="_-">下划线(_) + 连字符(-)</div>
<div
						class="-_">连字符(-) + 下划线(_)</div>
<div
						class=" 	-">多个下划线(_) + 连字符(-)</div>
<div
						class="---_">多个连字符(-) + 下划线(_)</div>
<div
						class="---123">多个连字符(-) + 数字</div>
<div
						class=" 	123">多个下划线(_) + 数字</div>

看看各浏览器下面的结果

观察上表,分析各浏览器下的表现,总结如下

从上面看到,我们可以直观的了解到选择器的命名在各浏览器下的支持情况有所不同。因此,如果选择器的命名不规范,将影响各浏览器下,样式渲染不一致。比如如下代码:

1
2
div{font-size:12px;background-color:yellow;width:150px;height:30px;line- height:30px;}
.20fontsize{font-size:18px;background-color:#d4d4d4;}
1
<div
						class="20fontsize">以数字开头的类名</div>

以数字开始的类名仅在IE6(Q)/IE7(Q)/IE8(Q)下被识别,而其它浏览器下则不识别(忽略该规则)

三、如何避免受此问题影响

坚持以字母开头命名选择器,这样可保证在所有浏览器下都能兼容。

四、关于团队合作的css命名规范

常用的css命名规则

头:header

内容:content/container

尾:footer

导航:nav

侧栏:sidebar

栏目:column

页面外围控制整体布局宽度:wrapper

左右中:left right center

登录条:loginbar

标志:logo

广告:banner

页面主体:main

热点:hot

新闻:news

下载:download

子导航:subnav

菜单:menu

子菜单:submenu

搜索:search

友情链接:friendlink

页脚:footer

版权:copyright

滚动:scroll

内容:content

标签页:tab

文章列表:list

提示信息:msg

小技巧:tips

栏目标题:title

加入:joinus

指南:guild

服务:service

注册:regsiter

状态:status

投票:vote

合作伙伴:partner

(二)注释的写法:

/* Footer */

内容区

/* End Footer */

(三)id的命名:

(1)页面结构

容器: container

页头:header

内容:content/container

页面主体:main

页尾:footer

导航:nav

侧栏:sidebar

栏目:column

页面外围控制整体布局宽度:wrapper

左右中:left right center

(2)导航

导航:nav

主导航:mainbav

子导航:subnav

顶导航:topnav

边导航:sidebar

左导航:leftsidebar

右导航:rightsidebar

菜单:menu

子菜单:submenu

标题: title

摘要: summary

(3)功能

标志:logo

广告:banner

登陆:login

登录条:loginbar

注册:regsiter

搜索:search

功能区:shop

标题:title

加入:joinus

状态:status

按钮:btn

滚动:scroll

标签页:tab

文章列表:list

提示信息:msg

当前的: current

小技巧:tips

图标: icon

注释:note

指南:guild

服务:service

热点:hot

新闻:news

下载:download

投票:vote

合作伙伴:partner

友情链接:link

版权:copyright

(四)class的命名:

(1)颜色:使用颜色的名称或者16进制代码,如

.red { color: red; }

.f60 { color: #f60; }

.ff8600 { color: #ff8600; }

(2)字体大小,直接使用”font+字体大小”作为名称,如

.font12px { font-size: 12px; }

.font9pt {font-size: 9pt; }

(3)对齐样式,使用对齐目标的英文名称,如

.left { float:left; }

.bottom { float:bottom; }

(4)标题栏样式,使用”类别+功能”的方式命名,如

.barnews { }

.barproduct { }

注意事项::

1.一律小写;

2.尽量用英文;

3.不加中杠和下划线;

4.尽量不缩写,除非一看就明白的单词.

主要的 master.css

模块 module.css

基本共用 base.css

布局,版面 layout.css

主题 themes.css

专栏 columns.css

文字 font.css

表单 forms.css

补丁 mend.css

打印 print.css

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索浏览器
, 数字
, 字符
, 下划线
, 开头
连字符
,以便于您获取更多的相关知识。

时间: 2024-08-10 11:49:34

css选择器命名规则:差异及可能产生的问题的相关文章

Css选择器命名规则

操作系统版本:Windows 7 浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.356.2 dev 受影响的浏览器:所有浏览器. 经常讲到css选择器命名规则,其实不只是在团队合作基础上来讲这个,每个浏览器,IE产品,火狐,苹果,谷歌,都会因为命名不规范会产生不同样式.. 一.关于选择器的命名 W3C CSS2.1的 4.1.3 节中提到:标识符(包括选择器中的元素名,类和ID)只能包含字符[a- zA-Z0-9]和ISO 106

CSS创意命名规则

    关于CSS中的命名规则(其实我觉得是XHTML元素的命名规则更加合理些)这个问题,已经有很多人在说了,其中也不乏一些真知灼见.不过这种东西也是仁者见仁,智者见智,只要一个团队有统一的命名规则要求,在日常开发和维护中不至于出现混乱就应该说是好的命名规则.比如下面这条基本的命名规则: 外 套 wrap 主导航 mainnav 子导航 subnav  页 脚  footer  整个页面  content  页 眉  header  商 标  label  标 题  title  顶导航  to

有利于SEO优化的DIV+CSS的命名规则小结

核心提示:有利于SEO优化的DIV+CSS的命名规则小结 一.CSS文件及样式命名 1.CSS文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:print.css: 2.CSS样式命名规范 本人建议:用字母._号工.-号.数字组成,必须以字母开头,不能为纯数字.为了开发后样式名管理方便,大家请用有意义的单词或缩写组合来命名,让同事一看就明白这样式大概是哪一块的,这样就节省了查找样式的时间,例如:

流行的DIV+CSS的命名规则

SEO(搜索引擎优化)有很多工作要做,其中对代码的优化是一个很关键的步骤.为了更加符合SEO的规范,下面中部IT网将对目前流行的CSS+DIV的命名规则整理如下: 页头:header 登录条:loginBar 标志:logo 侧栏:sideBar 广告:banner 导航:nav 子导航:subNav 菜单:menu 子菜单:subMenu 搜索:search 滚动:scroll 页面主体:main 内容:content 标签页:tab 文章列表:list 提示信息:msg 小技巧:tips 栏

CSS XHTML命名规则

CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:friendlink 页脚:foote

css3-css类名命名规则怎么编写

问题描述 css类名命名规则怎么编写 我想问一下css类名命名规则怎么编写好?现在类名编写好乱,写着写着自己就乱了,怎么写才比较规范,比较统一 解决方案 一.CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, margin) 3.文字系列(font, line-height, letter-spacing, color- text-align等) 4.背景(back

CSS 结构和规则

css 基本语法 规则 选择符 任何HTML元素都可以是一个CSS1的选择符.选择符仅仅是指向特别样式的元素.例如, P { text-indent: 3em } 当中的选择符是P. 类选择符 单一个选择符能有不同的CLASS(类),因而允许同一元素有不同样式.例如,一个网页制作者也许希望视其语言而定,用不同的颜色显示代码 : code.html { color: #191970 }code.css { color: #4b0082 } 以上的例子建立了两个类,css和html,供HTML的CO

【转】css命名规则详细介绍

由于项目中编写文档结构.编写CSS的人员较多,并与程序员协同工作,所以就需要统一开发规范,根据XHTMl和CSS编织的规范和大多人的习惯,整理了以下针对本项目的一个简单的开发规范: 一.CSS文件及样式命名 1.CSS文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:print.css: 2.CSS样式命名规范 本人建议:用字母._号工.-号.数字组成,必须以字母开头,不能为纯数字.为了开发后样

【DIV+CSS入门教程】CSS选择器规范化命名

规范的命名也是Web标准中的重要一项,标准的命名可以更好的看懂代码,我想大家应该都有这种经历,某日翻出自己过去写的代码居然看不懂了,呵呵,为了避免这种情况我们就要规范化命名,再说了,现在一个项目不是一个人就可以完成的,是需要大家互相合作的,如果没有规范化命名,别人就无法看懂你的代码,大大降低了工作效率,所以必须规范化命名,这样还显着咱专业! 好了不多说了,关于CSS命名法,和其他的程序命名差不多,也是有三种:骆驼命名法,帕斯卡命名法,匈牙利命名法. [骆驼命名法] 说到骆驼大家肯定会想到它那明显