是否可以将一个CSS文件包含在另一个CSS中?
当前回答
@import(“/path to your styles.css”);
这是使用css在css样式表中包含css样式表的最佳方式。
其他回答
Yes:
@import url("base.css");
注:
@import规则必须先于所有其他规则(@charset除外)。额外的@import语句需要额外的服务器请求。作为替代方案,将所有CSS连接到一个文件中,以避免多个HTTP请求。例如,将base.css和special.css的内容复制到base-special.css中,并仅引用base-specific.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 url(“base.css”);工作正常,但请记住,每个@import语句都是对服务器的新请求。这对您来说可能不是问题,但当需要最佳性能时,您应该避免@import。
无论出于什么原因,@import对我来说都不起作用,但它真的没有必要,是吗?
下面是我在html中所做的:
<link rel="stylesheet" media="print" href="myap-print.css">
<link rel="stylesheet" media="print" href="myap-screen.css">
<link rel="stylesheet" media="screen" href="myap-screen.css">
注意,media=“print”有两个样式表:myap-print.css和myap-screen.css。这与在myap-pprint.css中包含myap-screen.css的效果相同。
CSS@import规则就是这样做的。例如。,
@import url('/css/common.css');
@import url('/css/colors.css');