在已经创建了一个新的简单的ASP.Net Web应用程序中,在Default.aspx文件中添加了新的div,如下所示
<div id="TestDiv"> Hi, This is CSS test. </div>
为了设置上面的div,在Site.css文件中添加了下面的css
#TestDiv{ color:Red; }
如果我在设计视图中检查Default.aspx页面,发现上面的文本颜色已更改为红色。 但是当我运行这个应用程序并检查浏览器时,发现颜色没有改变,并且css没有应用于它。 我想使用在母版页中声明的相同Site.css应用于上面的div,我不想在Default.aspx页面中显式声明css样式。 你能帮我解决一下如何让它发挥作用。
根据要求分享Site.css内容
/* DEFAULTS
----------------------------------------------------------*/
body
{
background: #b6b7bc;
font-size: .80em;
font-family: "Helvetica Neue" , "Lucida Grande" , "Segoe UI" , Arial, Helvetica, Verdana, sans-serif;
margin: 0px;
padding: 0px;
color: #696969;
}
a:link, a:visited
{
color: #034af3;
}
a:hover
{
color: #1d60ff;
text-decoration: none;
}
a:active
{
color: #034af3;
}
p
{
margin-bottom: 10px;
line-height: 1.6em;
}
/* HEADINGS
----------------------------------------------------------*/
h1, h2, h3, h4, h5, h6
{
font-size: 1.5em;
color: #666666;
font-variant: small-caps;
text-transform: none;
font-weight: 200;
margin-bottom: 0px;
}
h1
{
font-size: 1.6em;
padding-bottom: 0px;
margin-bottom: 0px;
}
h2
{
font-size: 1.5em;
font-weight: 600;
}
h3
{
font-size: 1.2em;
}
h4
{
font-size: 1.1em;
}
h5, h6
{
font-size: 1em;
}
/* this rule styles <h1> and <h2> tags that are the
first child of the left and right table columns */
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
{
margin-top: 0px;
}
/* PRIMARY LAYOUT ELEMENTS
----------------------------------------------------------*/
.page
{
width: 960px;
background-color: #fff;
margin: 20px auto 0px auto;
border: 1px solid #496077;
}
.header
{
position: relative;
margin: 0px;
padding: 0px;
background: #4b6c9e;
width: 100%;
}
.header h1
{
font-weight: 700;
margin: 0px;
padding: 0px 0px 0px 20px;
color: #f9f9f9;
border: none;
line-height: 2em;
font-size: 2em;
}
.main
{
padding: 0px 12px;
margin: 12px 8px 8px 8px;
min-height: 420px;
}
.leftCol
{
padding: 6px 0px;
margin: 12px 8px 8px 8px;
width: 200px;
min-height: 200px;
}
.footer
{
color: #4e5766;
padding: 8px 0px 0px 0px;
margin: 0px auto;
text-align: center;
line-height: normal;
}
/* TAB MENU
----------------------------------------------------------*/
div.hideSkiplink
{
background-color: #3a4f63;
width: 100%;
}
div.menu
{
padding: 4px 0px 4px 8px;
}
div.menu ul
{
list-style: none;
margin: 0px;
padding: 0px;
width: auto;
}
div.menu ul li a, div.menu ul li a:visited
{
background-color: #465c71;
border: 1px #4e667d solid;
color: #dde4ec;
display: block;
line-height: 1.35em;
padding: 4px 20px;
text-decoration: none;
white-space: nowrap;
}
div.menu ul li a:hover
{
background-color: #bfcbd6;
color: #465c71;
text-decoration: none;
}
div.menu ul li a:active
{
background-color: #465c71;
color: #cfdbe6;
text-decoration: none;
}
/* FORM ELEMENTS
----------------------------------------------------------*/
fieldset
{
margin: 1em 0px;
padding: 1em;
border: 1px solid #ccc;
}
fieldset p
{
margin: 2px 12px 10px 10px;
}
fieldset.login label, fieldset.register label, fieldset.changePassword label
{
display: block;
}
fieldset label.inline
{
display: inline;
}
legend
{
font-size: 1.1em;
font-weight: 600;
padding: 2px 4px 8px 4px;
}
input.textEntry
{
width: 320px;
border: 1px solid #ccc;
}
input.passwordEntry
{
width: 320px;
border: 1px solid #ccc;
}
div.accountInfo
{
width: 42%;
}
/* MISC
----------------------------------------------------------*/
.clear
{
clear: both;
}
.title
{
display: block;
float: left;
text-align: left;
width: auto;
}
.loginDisplay
{
font-size: 1.1em;
display: block;
text-align: right;
padding: 10px;
color: White;
}
.loginDisplay a:link
{
color: white;
}
.loginDisplay a:visited
{
color: white;
}
.loginDisplay a:hover
{
color: white;
}
.failureNotification
{
font-size: 1.2em;
color: Red;
}
.bold
{
font-weight: bold;
}
.submitButton
{
text-align: right;
padding-right: 10px;
}
#TestDiv
{
color:Red;
}
答案 0 :(得分:0)
它无法正常工作的原因之一是目录结构,它使得无法从Default.aspx访问CSS。否则没有理由不工作。您可以通过按F12使用IE开发人员工具并选择div并查看是否应用了site.css。您还可以在浏览器中看到视图源并复制CSS路径以查看它是否呈现或者您正在获取404
答案 1 :(得分:0)
确保您创建了一个包含当前css文件位置的标记,并且您的链接标记必须位于标题上,但div部分必须位于正文上。
答案 2 :(得分:0)
这个问题有几个原因。最好使用浏览器的开发工具来查看实际受前端更改影响的内容。 Chrome提供绝对最佳的调试套件......只需右键单击您的页面,然后在div上选择“Inspect Element”。
至于这个问题的具体细节:
备选方案:
回复评论
好吧,每个浏览器都有默认规则,分配给大多数元素。如果您发现从主体继承的样式,则可能是由于css“重置”样式表和/或架构,其中body已被赋予更合理的默认值。我怀疑你甚至会在ASP.NET应用程序中找到它。
我建议您创建自己的样式表并在default.aspx页面中引用它。它实际上并不重要(只要你在GENERATED样式表之后引用你的样式表),它就会将所有东西分开。您无需在大多数情况下更改生成的CSS。
答案 3 :(得分:0)
为您找到2个答案:
告诉我你的deafult.aspx文件在哪里?在一个类似于site / asp / deafult.aspx的文件中,你的风格在site / style / site.css中,如果有,则添加链接标记<link href="../Style/Site.css" rel="stylesheet" type="text/css" />
如果您的网站位于Site / deafult.aspx且css位于Site / Styles / Site.css中,请确保大小字的不同之处是相同的。