SYNCERのロゴ
アイキャッチ画像

CSSRule.cssText - CSSルールのテキスト表現

cssTextは、CSSRuleのプロパティです。CSSルールの内容を文字列で返します。この文字列は、子のCSSルールを含めた全体の内容になっています。

概要

名前
cssText
所属
CSSRule
IDL
attribute CSSOMString cssText;

typedef USVString CSSOMString;
仕様書
https://drafts.csswg.org/cssom/#dom-cssrule-csstext

説明

子を含めた全体のCSSルールを文字列で返す。

CSSルールの親子関係とは、例えば、下記における@media all {...}が親で、p { ... }が子です。親のCSSルール(この場合はCSSMediaRule)と子のCSSルール(この場合はCSSStyleRule)はそれぞれ独立した存在です。

@media all {
	p { color: red ; }
}

デモ

CSSRule.cssTextのデモです。子のCSSルールも含まれているのを確認しましょう。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<head>
<style>
	p#hoge { color: purple ; }
	@supports( font-weight: 700 ){ p#hoge { font-weight: 700 ; } }
	@media all { p#hoge { border: 1px solid #888 ; } }
</style>
<style>
	body { tab-size: 2 ; word-break: break-all ; }
	div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
<p id="hoge">SYNCER</p>
<hr>
<div id="result"></div>
<script>
var styleSheetList = document.styleSheets ;

for( var i=0,l=styleSheetList.length; l>i; i++ ) {
	var styleSheet = styleSheetList[i] ;
	appendText( "[" + i + "]" + styleSheet + "\n" ) ;

	var cssRuleList = styleSheet.cssRules ;
	appendText( "cssRules: " + cssRuleList + "\n" ) ;

	for( var ii=0,ll=cssRuleList.length; ll>ii; ii++ ) {
		var cssRule = cssRuleList[ii] ;
		console.log( cssRule ) ;
		appendText( "\t" + "[" + ii + "]" + cssRule + "\n" ) ;
		appendText( "\t\t" + "type: " + cssRule.type + "\n" ) ;
		appendText( "\t\t" + "cssText: " + cssRule.cssText + "\n" ) ;
		appendText( "\t\t" + "parentRule: " + cssRule.parentRule + "\n" ) ;
		appendText( "\t\t" + "parentStyleSheet: " + cssRule.parentStyleSheet + "\n" ) ;
	}

	appendText( "\n" ) ;
}

function appendText ( text ) {
	document.getElementById( "result" ).appendChild( document.createTextNode( text ) ) ;
}
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
9+
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年10月15日 (日)
コンテンツを公開しました。