CSSKeyframesRule.deleteRule() - ルールを削除する
deleteRule()は、CSSKeyframesRuleのメソッドです。@keyframes内のCSSルールを1つ削除します。
概要
- 名前
- deleteRule
- 所属
- CSSKeyframesRule
- IDL
void deleteRule(CSSOMString select); typedef USVString CSSOMString;
- 仕様書
- https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-deleterule
説明
引数(select)には、対象のCSSルールのセレクタ(例: from
)を文字列で指定する。セレクタは、"from"は"0%"、"to"は"100%"に変換される。
存在しないセレクタを削除しようとすると無視される。
デモ
CSSKeyframesRule.deleteRule()のデモです。@keyframesのCSSルールを対象にメソッドを実行します。ルールを追加すると、アニメーションにある赤色がなくなるのを確認して下さい。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<head>
<style>
@keyframes syncer {
from {
color: red ;
}
to {
color: blue ;
}
}
</style>
<style>
p#hoge { font-size: 24px ; font-weight: 700 ; animation: 5s infinite alternate syncer ; }
body { tab-size: 2 ; word-break: break-all ; }
div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
<p><button id="append">追加する</button></p>
<p><button id="delete">削除する</button></p>
<hr>
<p id="hoge">SYNCER</p>
<hr>
<div id="result"></div>
<script>
var styleSheetList = document.styleSheets ;
var styleSheet = styleSheetList[0] ;
var keyframesCSSRule = styleSheet.cssRules[0] ;
document.getElementById( "append" ).onclick = function () {
keyframesCSSRule.appendRule( "from{ color: red ; }" ) ;
getCSSInfo() ;
}
document.getElementById( "delete" ).onclick = function () {
keyframesCSSRule.deleteRule( "from" ) ;
getCSSInfo() ;
}
function getCSSInfo() {
document.getElementById( "result" ).textContent = "" ;
appendText( keyframesCSSRule + "\n" ) ;
console.log( keyframesCSSRule ) ;
appendText( "\t" + "name: " + keyframesCSSRule.name + "\n" ) ;
var keyframesCSSRuleList = keyframesCSSRule.cssRules ;
console.log( keyframesCSSRuleList ) ;
appendText( "\t" + "cssRules: " + keyframesCSSRule.cssRules + "\n" ) ;
for( var i=0,l=keyframesCSSRuleList.length; l>i; i++ ) {
var keyframeCSSRule = keyframesCSSRuleList[i] ;
appendText( "\t\t" + "[" + i + "]" + keyframeCSSRule + "\n" ) ;
appendText( "\t\t\t" + "keyText: " + keyframeCSSRule.keyText + "\n" ) ;
appendText( "\t\t\t" + "style: " + keyframeCSSRule.style + "\n" ) ;
appendText( "\t\t\t" + "style.cssText: " + keyframeCSSRule.style.cssText + "\n" ) ;
}
}
function appendText ( text ) {
document.getElementById( "result" ).appendChild( document.createTextNode( text ) ) ;
}
getCSSInfo() ;
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● 31+ | ● 16+ | ● 9.1+ | ● | ● | ● 21+ | ● 9.1+ | × |
関連記事
- CSSKeyframesRule.findRule()
- findRule()は、CSSKeyframesRuleのメソッドです。セレクタを指定して、@keyframes内のCSSルールを取得します。
- CSSKeyframesRule.appendRule()
- appendRule()は、CSSKeyframesRuleのメソッドです。@keyframes内にCSSルールを1つ追加します。
- CSSKeyframesRule.name
- nameは、CSSKeyframesRuleのプロパティです。@keyframesに設定された名前を返します。
- CSSKeyframesRule.cssRules
- cssRulesは、CSSKeyframesRuleのプロパティです。子に含む全てのCSSルールをCSSRuleListで返します。