@import
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
* Some parts of this feature may have varying levels of support.
@import 㯠CSS ã®ã¢ããã«ã¼ã«ã§ãã¹ã¿ã¤ã«ã«ã¼ã«ãä»ã®æå¹ãªã¹ã¿ã¤ã«ã·ã¼ãããã¤ã³ãã¼ãããããã«ä½¿ç¨ãã¾ãã
@import ã«ã¼ã«ã¯ã¹ã¿ã¤ã«ã·ã¼ãã®æä¸ä½ã§ãä»ã®ã¢ããã«ã¼ã«ï¼@charset ã @layer ãé¤ãï¼ãã¹ã¿ã¤ã«å®£è¨ã®åã«å®ç¾©ããå¿
è¦ããããããããªããã°ç¡è¦ããã¾ãã
æ§æ
@import url;
@import url layer;
@import url layer(ã¬ã¤ã¤ã¼å);
@import url layer(ã¬ã¤ã¤ã¼å) supports(å¯¾å¿æ¡ä»¶);
@import url layer(ã¬ã¤ã¤ã¼å) supports(å¯¾å¿æ¡ä»¶) ã¡ãã£ã¢ã¯ã¨ãªã¼ãªã¹ã;
@import url layer(ã¬ã¤ã¤ã¼å) ã¡ãã£ã¢ã¯ã¨ãªã¼ãªã¹ã;
@import url supports(å¯¾å¿æ¡ä»¶);
@import url supports(å¯¾å¿æ¡ä»¶) ã¡ãã£ã¢ã¯ã¨ãªã¼ãªã¹ã;
@import url ã¡ãã£ã¢ã¯ã¨ãªã¼ãªã¹ã;
å å®¹ã¯æ¬¡ã®éãã§ãã
- url
-
ã¤ã³ãã¼ããããªã½ã¼ã¹ã®ä½ç½®ã表ã
<string>ã¾ãã¯<url>ã§ãã URL ã¯çµ¶å¯¾ãã¹ã§ãç¸å¯¾ãã¹ã§ãæ§ãã¾ããã - ã¡ãã£ã¢ã¯ã¨ãªã¼ãªã¹ã
-
ã¡ãã£ã¢ã¯ã¨ãªã¼ã®ã«ã³ãåºåãã®ãªã¹ãã§ããªã³ã¯ãã URL ã§å®ç¾©ããã CSS ã«ã¼ã«ãé©ç¨ããããã®ã¡ãã£ã¢ã«ä¾åããæ¡ä»¶ãæå®ãã¾ãããã©ã¦ã¶ã¼ã対å¿ãã¦ããªãã¡ãã£ã¢ã¯ã¨ãªã¼ã®å ´åããªã³ã¯ããããªã½ã¼ã¹ã¯èªã¿è¾¼ã¾ãã¾ããã
- ã¬ã¤ã¤ã¼å
-
ãªã³ã¯ããããªã½ã¼ã¹ã®ã³ã³ãã³ããã¤ã³ãã¼ããããã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã®ååã§ãã詳ããã¯
layer()ãåç §ãã¦ãã ããã - å¯¾å¿æ¡ä»¶
-
ãã®ã¹ã¿ã¤ã«ã·ã¼ããã¤ã³ãã¼ãããããã«ããã©ã¦ã¶ã¼ã対å¿ãã¦ããå¿ è¦ãããç¹æ§ã示ãã¾ãã ãã©ã¦ã¶ã¼ã å¯¾å¿æ¡ä»¶ ã§æå®ãããæ¡ä»¶ã«é©åããªãå ´åããªã³ã¯ãããã¹ã¿ã¤ã«ã·ã¼ããåå¾ããªããã¨ããããä»ã«ããã¹ãéãã¦ãã¦ã³ãã¼ããã¦ãèªã¿è¾¼ããã¨ã¯ã§ãã¾ããã
supports()ã®æ§æã¯@supportsã§è¨è¿°ããã¦ãããã®ã¨ã»ã¼åãã§ãã®ã§ãããå®å ¨ãªãªãã¡ã¬ã³ã¹ã¯ãã¡ãã®ãããã¯ãåç §ãã¦ãã ããã
@import ã layer ãã¼ã¯ã¼ãã¾ã㯠layer() 颿°ã¨ã¨ãã«ä½¿ç¨ããã¨ãå¤é¨ã¹ã¿ã¤ã«ã·ã¼ãï¼ãã¬ã¼ã ã¯ã¼ã¯ãã¦ã£ã¸ã§ããã¹ã¿ã¤ã«ã·ã¼ããã©ã¤ãã©ãªã¼ãªã©ï¼ãã¬ã¤ã¤ã¼ã«ã¤ã³ãã¼ããããã¨ãã§ãã¾ãã
解説
ã«ã¼ã«ã®ã¤ã³ãã¼ãã¯ã @charset ã«ã¼ã«ã¨ @layer æã使ããã¬ã¤ã¤ã¼ãé¤ããä»ã®ãã¹ã¦ã®ç¨®é¡ã®ã«ã¼ã«ãããåã«æ¥ãå¿
è¦ãããã¾ãã
* {
margin: 0;
padding: 0;
}
/* ãã以å¤ã®ã¹ã¿ã¤ã« */
@import "my-imported-styles.css";
@import ã¢ããã«ã¼ã«ã¯ã¹ã¿ã¤ã«è¨å®ã®å¾ã«å®£è¨ããã¦ããã䏿£ã§ããããç¡è¦ããã¾ãã
@import "my-imported-styles.css";
* {
margin: 0;
padding: 0;
}
/* ãã以å¤ã®ã¹ã¿ã¤ã« */
@import ã«ã¼ã«ã¯å
¥ãåã«ãªãæã§ã¯ããã¾ãããå¾ã£ã¦ãæ¡ä»¶ä»ãã¢ããã«ã¼ã«ã°ã«ã¼ãã®ä¸ã§ä½¿ããã¨ã¯ã§ãã¾ããã
ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯æªç¥ã®ã¡ãã£ã¢ç¨®å¥ã®ãªã½ã¼ã¹ãåãåããã¨ãæå¦ãããã¨ãã§ããã®ã§ãç¹å®ã®ã¡ãã£ã¢ã«ä¾åãã @import ã«ã¼ã«ãæå®ãããã¨ãã§ãã¾ãããããã®æ¡ä»¶ä»ãã¤ã³ãã¼ãã¯ã URL ã®å¾ã§ã«ã³ãåºåãã®ã¡ãã£ã¢ã¯ã¨ãªã¼ã§æå®ãã¾ããã¡ãã£ã¢ã¯ã¨ãªã¼ããªãã¨ãã¤ã³ãã¼ãã¯ç¡æ¡ä»¶ã§è¡ããã¾ããã¡ãã£ã¢ã« all ãæå®ãã¦ãåã广ã«ãªãã¾ãã
åæ§ã«ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ã㯠@import ã¢ããã«ã¼ã«ã§ supports() 颿°ã使ç¨ãã¦ãå
·ä½çãªç¹æ§ã®éåã«å¯¾å¿ãã¦ããï¼ã¾ãã¯å¯¾å¿ãã¦ããªãï¼å ´åã®ã¿ãªã½ã¼ã¹ãåå¾ãããã¨ãã§ãã¾ãã
ããã«ãããä½è
ã¯æè¿å°å
¥ããã CSS ç¹æ§ã®å©ç¹ãæ´»ããã¤ã¤ãå¤ããã¼ã¸ã§ã³ã®ãã©ã¦ã¶ã¼ã«å¯¾ãã¦åªé
ãªãã©ã¼ã«ããã¯ãæä¾ãããã¨ãã§ãã¾ãã
ãªãã @import ã¢ããã«ã¼ã«ã® supports() 颿°ã®æ¡ä»¶ã¯ã JavaScript ã§ CSSImportRule.supportsText ãç¨ãã¦åå¾ãããã¨ãã§ãã¾ãã
@import ã«ã¼ã«ã«ããããªã³ã¯ããããªã½ã¼ã¹ããã«ã¼ã«ãã¤ã³ãã¼ããã¦ã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã使ãããã¨ãã§ãã¾ããã«ã¼ã«ã¯æ¢åã®ã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã«ã¤ã³ãã¼ããããã¨ãã§ãã¾ãããã®ããã« @import ã¨ã¨ãã« layer ãã¼ã¯ã¼ãã¾ã㯠layer() 颿°ã使ç¨ãã¾ããã¤ã³ãã¼ããããã¹ã¿ã¤ã«ã·ã¼ãã®ã¹ã¿ã¤ã«ã«ã¼ã«ã®å®£è¨ã¯ãã¤ã³ãã¼ããããæç¹ã§ã¹ã¿ã¤ã«ã·ã¼ãã«æåã©ããæ¸ãè¾¼ã¾ãããã®ããã«ã«ã¹ã±ã¼ãã«ä½ç¨ãã¾ãã
形弿æ³
@import =
@import [ <url> | <string> ] [ [ layer | layer( <layer-name> ) ] || [ scope | scope( <scope-start> | <scope-boundaries> ) ] || <supports-import-condition> ]? <media-import-condition> ;
<layer-name> =
<ident> [ '.' <ident> ]*
<scope-start> =
<selector-list>
<scope-boundaries> =
[ [ ( <scope-start> ) ]? [ to ( <scope-end> ) ]? ]!
<supports-import-condition> =
supports( [ <supports-condition> | <declaration> ] )
<media-import-condition> =
<media-query-list>
<selector-list> =
<complex-selector-list>
<scope-end> =
<selector-list>
<supports-condition> =
not <supports-in-parens> |
<supports-in-parens> [ and <supports-in-parens> ]* |
<supports-in-parens> [ or <supports-in-parens> ]*
<complex-selector-list> =
<complex-selector>#
<supports-in-parens> =
( <supports-condition> ) |
<supports-feature> |
<general-enclosed>
<complex-selector> =
<complex-selector-unit> [ <combinator>? <complex-selector-unit> ]*
<supports-feature> =
<supports-selector-fn> |
<supports-font-tech-fn> |
<supports-font-format-fn> |
<supports-at-rule-fn> |
<supports-named-feature-fn> |
<supports-env-fn> |
<supports-decl>
<general-enclosed> =
[ <function-token> <any-value>? ) ] |
[ ( <any-value>? ) ]
<complex-selector-unit> =
[ <compound-selector>? <pseudo-compound-selector>* ]!
<combinator> =
'>' |
'+' |
'~' |
[ '|' '|' ] |
[ / <wq-name> / ]
<supports-selector-fn> =
selector( <complex-selector> )
<supports-font-tech-fn> =
font-tech( <font-tech> )
<supports-font-format-fn> =
font-format( <font-format> )
<supports-at-rule-fn> =
at-rule( <at-keyword-token> )
<supports-named-feature-fn> =
named-feature( <ident> )
<supports-env-fn> =
env( <ident> )
<supports-decl> =
( [ <declaration> | <supports-condition-name> ] )
<compound-selector> =
[ <type-selector>? <subclass-selector>* ]!
<pseudo-compound-selector> =
<pseudo-element-selector> <pseudo-class-selector>*
<wq-name> =
<ns-prefix>? <ident-token>
<font-tech> =
<font-features-tech> |
<color-font-tech> |
variations |
palettes |
incremental
<font-format> =
<string> |
collection |
embedded-opentype |
opentype |
svg |
truetype |
woff |
woff2
<type-selector> =
<wq-name> |
<ns-prefix>? '*'
<subclass-selector> =
<id-selector> |
<class-selector> |
<attribute-selector> |
<pseudo-class-selector>
<pseudo-element-selector> =
: <pseudo-class-selector> |
<legacy-pseudo-element-selector>
<pseudo-class-selector> =
: <ident-token> |
: <function-token> <any-value> )
<ns-prefix> =
[ <ident-token> | '*' ]? '|'
<font-features-tech> =
features-opentype |
features-aat |
features-graphite
<color-font-tech> =
color-COLRv0 |
color-COLRv1 |
color-SVG |
color-sbix |
color-CBDT
<id-selector> =
<hash-token>
<class-selector> =
'.' <ident-token>
<attribute-selector> =
'[' <wq-name> ']' |
'[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'
<legacy-pseudo-element-selector> =
: [ before | after | first-line | first-letter ]
<attr-matcher> =
[ '~' | '|' | '^' | '$' | '*' ]? '='
<attr-modifier> =
i |
s
ä¾
>CSS ã«ã¼ã«ãã¤ã³ãã¼ã
@import "custom.css";
@import url("chrome://communicator/skin/communicator.css");
ä¸ã® 2 ã¤ã®ä¾ã§ã¯ã url ã <string> ã¨ãã¦æå®ããæ¹æ³ã¨ url() 颿°ã¨ãã¦æå®ããæ¹æ³ã示ãã¦ãã¾ãã
æ¡ä»¶ä»ãã§ CSS ã«ã¼ã«ãã¤ã³ãã¼ã
@import "fine-print.css" print;
@import "bluish.css" print, screen;
@import "common.css" screen;
@import "landscape.css" screen and (orientation: landscape);
ä¸è¨ã®ä¾ã® @import ã«ã¼ã«ã¯ããªã³ã¯ããã CSS ã«ã¼ã«ãé©ç¨ãããåã«æç«ããå¿
è¦ãããã¡ãã£ã¢ä¾åã®æ¡ä»¶ã示ãã¦ãã¾ãããã¨ãã°ãæå¾ã® @import ã«ã¼ã«ã¯ã横åãã®ç»é¢ã®å ´åã®ã¿ landscape.css ã¹ã¿ã¤ã«ã·ã¼ããèªã¿è¾¼ã¾ãã¾ãã
æ©è½ã«å¯¾å¿ãã¦ãããã¨ãæ¡ä»¶ã¨ãã CSS ã«ã¼ã«ã®ã¤ã³ãã¼ã
@import "grid.css" supports(display: grid) screen and (width <= 400px);
@import "flex.css" supports((not (display: grid)) and (display: flex)) screen
and (width <= 400px);
ä¸è¨ã® @import ã«ã¼ã«ã¯ãdisplay: grid ã対å¿ãã¦ããå ´åã¯ã°ãªããã使ç¨ããã¬ã¤ã¢ã¦ããã¤ã³ãã¼ãããããã§ãªãå ´å㯠display: flex ã使ç¨ãã CSS ãã¤ã³ãã¼ãããæ¹æ³ã示ãã¦ãã¾ãã
supports() æã¯ 1 ã¤ããç½®ããã¨ãã§ãã¾ããããnotãandãor ã§ä»»æã®æ°ã®ç¹æ§ãã§ãã¯ãçµã¿åããããã¨ãã§ãã¾ãããã ããããããæ··å¨ãããå ´åã¯ãåªå
é ä½ãå®ç¾©ããããã«æ¬å¼§ã使ç¨ããå¿
è¦ãããã¾ããä¾ãã°ãsupports((..) or (..) and not (..)) ã¯ç¡å¹ã§ãããsupports((..) or ((..) and (not (..)))) ã¯æå¹ã§ãã
ãªããããåä¸ã®å®£è¨ãããªãå ´åã¯ãæ¬å¼§ã§ãããå¿
è¦ã¯ããã¾ãããããã¯ä¸ã®æåã®ä¾ã§ç¤ºããã¦ãã¾ãã
ä¸è¨ã®ä¾ã§ã¯ãåºæ¬çãªå®£è¨æ§æã使ã£ã¦å¯¾å¿æ¡ä»¶ã示ãã¦ãã¾ãã
supports() ã§ CSS 颿°ãæå®ãããã¨ãã§ãã対å¿ãã¦ãã¦ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã§è©ä¾¡ã§ããå ´å㯠true ã¨è©ä¾¡ããã¾ãã
ä¾ãã°ãä¸è¨ã®ã³ã¼ãã§ã¯ãåçµåå (selector()) 㨠font-tech() 颿°ã®ä¸¡æ¹ãæ¡ä»¶ã¨ãã @import ã示ãã¦ãã¾ãã
@import "whatever.css"
supports((selector(h2 > p)) and (font-tech(color-COLRv1)));
ã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã¸ã® CSS ã«ã¼ã«ã®ã¤ã³ãã¼ã
@import "theme.css" layer(utilities);
ä¸ã®ä¾ã§ã¯ã utilities ã¨ããååã®ã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã使ãããã¤ã³ãã¼ããããã¹ã¿ã¤ã«ã·ã¼ã theme ã®ã«ã¼ã«ãä¿æããããã«ä½¿ç¨ããã¾ãã
@import "headings.css" layer(default);
@import "links.css" layer(default);
@layer default {
audio[controls] {
display: block;
}
}
ä¸ã®ä¾ã§ã¯ã headings.css 㨠links.css ã®ã¹ã¿ã¤ã«ã·ã¼ãã®ã«ã¼ã«ã¯ã audio[controls] ã«ã¼ã«ã¨åãã¬ã¤ã¤ã¼å
ã§ã«ã¹ã±ã¼ãããã¾ãã
@import "theme.css" layer();
@import "style.css" layer;
ãã®ä¾ã¯ã2 ã¤ã®å¥åã®ç¡åã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã使ããããããã«ãªã³ã¯å ã®ã«ã¼ã«ãã¤ã³ãã¼ãããä¾ã§ããååãªãã§å®£è¨ãããã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã¯ãç¡åã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã§ããååã®ãªãã«ã¹ã±ã¼ãã¬ã¤ã¤ã¼ã¯ã使ãããæç¹ã§ç¢ºå®ããã¾ããã¹ã¿ã¤ã«ãä¸¦ã¹æ¿ããã追å ãããããæå³ãæä¾ãããå¤é¨ããåç §ãããã¨ã¯ã§ãã¾ããã
仿§æ¸
| Specification |
|---|
| CSS Cascading and Inheritance Level 5> # at-import> |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
@media@supports- CSS ã«ã¹ã±ã¼ãã¨ç¶æ¿ã¢ã¸ã¥ã¼ã«
- CSS ã¢ããã«ã¼ã«é¢æ°