顶级xml元素“学生”不会着色

时间:2013-09-10 19:25:50

标签: css xml

我知道这听起来像是一个常见的问题,但我搜遍了堆栈溢出并找不到任何东西。我现在遇到的问题是顶级xml元素“学生”不会从css获得背景颜色。我正确地嵌套了xml,并且我已经在我的css文件中正确拼写了XML元素。我尝试了一个xml验证器,文档看起来很好。那可能是什么错误?

这是XML

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="stylexml.css"?>
<Registration>
    <Student>
        <Id>0001234567</Id>
        <University>Indiana University Purdue University Indianapolis</University>
        <Education>Undergraduate</Education>
        <Category>Technology Undergraduate</Category>
        <Degree>Computer Tech BS</Degree>
    </Student>
    <Semester>
        <Season>Spring Semester</Season>
        <Year>2004-2005</Year>
        <Bterm>Senior</Bterm>
        <Eterm>Senior</Eterm>
    </Semester>     
    <Class id="0">
        <Course>CIT 412</Course>
        <Number>12981</Number>
        <Section>0100</Section>
        <Description>XML-BASED WEB APPLICATIONS</Description>
        <Component>Lecture</Component>
        <Grading>Graded</Grading>
        <Grade> </Grade>
        <Units>3.00</Units>
        <Status>Enrolled</Status>
        <!--New instance of schedule only created if time or location differs on weekdays-->
        <Schedule id="0">
            <Start>1:00PM</Start>
            <End>2:15PM</End>
            <Weekday>Mon,Wed</Weekday> 
            <Location>SL SL223</Location>
        </Schedule>
        <Instructor>Fernandez, Eugenia</Instructor>
        </Class>
    <Class id="1">
        <Course>CIT 479</Course>
        <Number>12988</Number>
        <Section>0100</Section>
        <Description>DATABASE IMPLEMENTATN &amp; ADMIN</Description>
        <Component>Lecture</Component>
        <Grading>Graded</Grading>
        <Grade> </Grade>
        <Units>3.00</Units>
        <Status>Enrolled</Status>
        <Schedule id="0">
            <Start>7:15PM</Start>
            <End>8:30PM</End>
            <Weekday>Mon</Weekday> 
            <Location>SL SL223</Location>
        </Schedule>
        <Schedule id="1">
            <Start>7:15PM</Start>
            <End>8:30PM</End>
            <Weekday>Wed</Weekday> 
            <Location>SL SL216</Location>
        </Schedule>
        <Instructor> </Instructor>
    </Class>
    <Class id="2">
        <Course>MATH M-119</Course>
        <Number>15304</Number>
        <Section>0400</Section>
        <Description>BRIEF SURVEY OF CALCULUS 1</Description>
        <Component>Lecture</Component>
        <Grading>Graded</Grading>
        <Grade> </Grade>
        <Units>3.00</Units>
        <Status>Enrolled</Status>
        <Schedule id="0">
            <Start>5:45PM</Start>
            <End>7:15PM</End>
            <Weekday>Mon,Wed</Weekday> 
            <Location>LE 104</Location>
        </Schedule>
        <Instructor>Tam,Richard Yiu-Hang</Instructor>
    </Class>
</Registration>

这是CSS:

@charset "utf-8";
/* CSS Document */

Registration
{
    font-family:"MS Serif", "New York", serif;
    font-size:16px;
    font-style:normal;
    top:0px;
    bottom:0px;
}
Student
{
    background-color:red;
}
Id,University,Education,Category,Degree
{
    display:block;
    //background-color:blue;

}
Semester
{
    background-color:yellow;
    border-bottom-style:ridge;

}
Class 
{
    margin-top:20px;
    border-style:solid;
    display:block;
    background-color:cyan;  
}
Course
{
   font-weight:bolder;
}
Description, Component
{
    display:block;
}
Schedule
{
    display:block;
}

1 个答案:

答案 0 :(得分:0)

您需要在渲染中将Student元素声明为块元素:

Student { display: block }

默认情况下,它是一个内联元素,因为在XML中,当没有样式表为属性赋值并且该属性未被继承时,将使用初始值(inline的{​​{1}}) display不是)。所以display将是一个糟糕的寂寞内联元素,所有的孩子都占据了他们的块,没有留下任何背景。如果您只在Student元素中添加纯文本,则可以看到此内容:它将采用红色背景。

元素在渲染中成为块元素,因为它的子元素是块元素。

请注意,您的代码格式错误Student。根据CSS错误处理规则,它将被忽略,但它仍然是一个错误;你不能在CSS中使用JavaScript注释;相反,CSS中的注释的格式为//background-color:blue;