我正在处理有100页网页的响应式网站。它是使用CMS实现的。问题是,我需要在主页上应用一些样式。
在CMS中为一个页面添加类或ID有点麻烦,因为它使用模板来呈现页面。
我在头部添加了css。我不想添加外部文件的原因是因为在其他页面上可能会使用相同的ID。
在这种情况下,在头部添加CSS是一种不好的做法。
<head>
<style>
//my css
</style>
</head>
<body>
</body>
谢谢
答案 0 :(得分:1)
内联CSS完全没问题。是否应该使用内联CSS或只是为页面设置唯一ID取决于您使用的CMS的复杂性和灵活性。使用内联CMS只意味着您必须从每个单独的页面更新CSS,而不是从所有单独页面的单个源更新。
关于你的第二点,在<style>
标签中将CSS添加到头部并不是一种不好的做法。事实上,<style>
必需是<head>
的孩子才能正确验证。根据{{3}},<style>
可以是任何元素的子元素,只要它scoped
,尽管在当前日期,Firefox the HTML 5.2 specification可以使用scoped
1}}属性。
除此之外,由于页面加载的方式,使用<style>
中的<body>
标记可能会导致the only browser。因此,如果您使用内联CSS,请始终这样做以正确验证并改善用户体验:)
希望这有帮助!
答案 1 :(得分:0)
总之是的。出于可维护性的原因。您最好使用css的级联特性来定位特定于特定页面的样式,而不是使用大量内联样式。
例如,考虑:
<body class="my-page">
<h1 id="myId">Title</h1>
<body>
<h1 id="myId">Title</h1>
h1#myId{ font-size:12px; }
body.my-page h1#myId{ font-size:14px; }
后一种风格将具有优先权。 h1 #myId将是全局的,但在特定页面上,您可以覆盖此样式。有没有办法弄清楚正在使用什么模板,并调整身体类?
答案 2 :(得分:0)
如果您的CMS使用说PHP ...
您可以检测到您是否在主页而不是调用自定义外部样式表,例如:
<?php
$page = $_SERVER["REQUEST_URI"];
$isHomePage = $page==="/" || $page==="/index.php" || $page==="";
if( $isHomePage ) {
echo '<link href="homepage.css" rel="stylesheet" type="text/css" />';
} else {
echo '<link href="style.css" rel="stylesheet" type="text/css" />';
}
?>
</head>