是否可以将一个CSS文件包含在另一个CSS中?


当前回答

对可以将CSS文件导入另一个CSS文件。

它必须是使用@import规则的样式表中的第一个规则。

@import "mystyle.css";
@import url("mystyle.css");

唯一需要注意的是,较旧的web浏览器将不支持它。事实上,这是从较旧的浏览器隐藏CSS样式的CSS“黑客”之一。

有关浏览器支持,请参阅此列表。

其他回答

我已经创建了main.css文件,并在其中包含了所有css文件。

我们只能包含一个main.css文件

@import url('style.css');
@import url('platforms.css');

“@import”规则可以调用多个样式文件。这些文件在需要时由浏览器或用户代理调用,例如HTML标记调用CSS。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="EN" dir="ltr">
<head>
<title>Using @import</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
@import url("main.css");
</style>
</head>
<body>
</body>
</html>

CSS文件“main.CSS”包含以下语法:

@import url("fineprint.css") print;
@import url("bluish.css") projection, tv;
@import 'custom.css';
@import url("chrome://communicator/skin/");
@import "common.css" screen, projection;
@import url('landscape.css') screen and (orientation:landscape);

要插入样式元素,请使用createTexNode,不要使用innerHTML,而是:

<script>
var style = document.createElement('style');
style.setAttribute("type", "text/css");
var textNode = document.createTextNode("
    @import 'fineprint.css' print;
    @import 'bluish.css' projection, tv;
    @import 'custom.css';
    @import 'chrome://communicator/skin/';
    @import 'common.css' screen, projection;
    @import 'landscape.css' screen and (orientation:landscape);
");
style.appendChild(textNode);
</script>

在某些情况下,使用@import“file.css”是可能的,大多数现代浏览器都应该支持这一点,但像NN4这样的旧浏览器会稍微有些疯狂。

注意:import语句必须在文件中的所有其他声明之前,并在生产中使用它之前在所有目标浏览器上测试它。

是的,您可以轻松地将一个css导入到另一个css(网站中的任何位置)你必须像这样使用:

@import url("url_path");

Yes:

@import url("base.css");

注:

@import规则必须先于所有其他规则(@charset除外)。额外的@import语句需要额外的服务器请求。作为替代方案,将所有CSS连接到一个文件中,以避免多个HTTP请求。例如,将base.css和special.css的内容复制到base-special.css中,并仅引用base-specific.css。