Html 无法在div内设置元素的样式?
我想用包含Html 无法在div内设置元素的样式?,html,css,twitter-bootstrap,Html,Css,Twitter Bootstrap,我想用包含class=“match” 代码: 但当我像下面这样设计它时,它不起作用为什么: #1 .match{ background-color: yellow; } 我有多个div,id=1,2,3,…每个div都有class=“match”,具体取决于您的HTML版本 ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”) 这是针对HTML4的。HTML5应该允许你首先使用数字。
class=“match”
代码:
但当我像下面这样设计它时,它不起作用为什么:
#1 .match{
background-color: yellow;
}
我有多个div,
id=1,2,3,…
每个div都有class=“match”
,具体取决于您的HTML版本
ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)
这是针对HTML4的。HTML5应该允许你首先使用数字。是否尝试使用非数字标识 根据您的HTML版本 ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)
这是针对HTML4的。HTML5应该允许你首先使用数字。是否尝试使用非数字标识 使用以数字开头的类或id在html5中有效,但它不是有效的css选择器 尽管HTML5很乐意ID以数字开头,但CSS却不是。CSS根本不允许选择器以数字开头 在CSS中,标识符(包括选择器中的元素名称、类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U+00A0及更高,加上连字符(-)和下划线(33;)它们不能以数字、两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO10646字符作为数字代码(请参阅下一项)。例如,标识符“B&W?”可以写为“B\&W\?”或“B\26 W\3F”——W3C规范
.match{
背景颜色:黄色;
}
#一,比赛{
背景色:红色;
}
#1.match、#1.team1、#1.team2{color:green;}
匹配测试1
第一队
VS
第二小组
使用以数字开头的类或id在html5中有效,但它不是有效的css选择器
尽管HTML5很乐意ID以数字开头,但CSS却不是。CSS根本不允许选择器以数字开头
在CSS中,标识符(包括选择器中的元素名称、类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U+00A0及更高,加上连字符(-)和下划线(33;)它们不能以数字、两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO10646字符作为数字代码(请参阅下一项)。例如,标识符“B&W?”可以写为“B\&W\?”或“B\26 W\3F”——W3C规范
.match{
背景颜色:黄色;
}
#一,比赛{
背景色:红色;
}
#1.match、#1.team1、#1.team2{color:green;}
匹配测试1
第一队
VS
第二小组
不要将数字用作id
#matchScore.match{
背景颜色:黄色;
}
匹配{this.state.matches[0].id}
{this.state.matches[0].team1}
VS
{this.state.matches[1].team2}
不要将数字用作id
#matchScore.match{
背景颜色:黄色;
}
匹配{this.state.matches[0].id}
{this.state.matches[0].team1}
VS
{this.state.matches[1].team2}
它实际上与html规范无关。问题在于css。HTML5删除了对数字的限制。它实际上与html规范无关。问题在于css。HTML5删除了对数字的限制。不。不过,您可以使用id=“div-1”。您不能在数字之前添加文本吗?如果我使用`#one.match.team1.team2{background color:yellow;}`它不起作用为什么?因为这些元素与层次结构不匹配。请参阅上面我编辑的代码片段。请参阅以下内容以供参考:第一个有效的方法是使用id为1的元素中的match类表示元素,对于团队1和团队2也是如此。不起作用的一种说法是,将元素中的所有元素的样式设置为元素中的类为team2,元素中的类为team1,元素中的类为match,id为1。因此必须有div#one>div.match>div.team1>div.team2的html结构才能与您的匹配。不过,您可以使用id=“div-1”。您不能在数字之前添加文本吗?如果我使用`#one.match.team1.team2{background color:yellow;}`它不起作用为什么?因为这些元素与层次结构不匹配。请参阅上面我编辑的代码片段。请参阅以下内容以供参考:第一个有效的方法是使用id为1的元素中的match类表示元素,对于团队1和团队2也是如此。不起作用的一种说法是,将元素中的所有元素的样式设置为元素中的类为team2,元素中的类为team1,元素中的类为match,id为1。因此必须有div#one>div.match>div.team1>div.team2的html结构才能与您的匹配。
.match{
background-color: yellow;
}
#1 .match{
background-color: yellow;
}