pub struct CSSRuleList { /* private fields */ }Expand description
CSSRuleList 对象
表示一个 CSSRule 对象的集合,通常通过 CSSStyleSheet.cssRules 访问。
这是一个实时更新的列表(live list),当样式表变化时自动更新。
§示例
use iris_cssom::cssrulelist::CSSRuleList;
use iris_cssom::cssrule::CSSStyleRule;
use std::sync::{Arc, Mutex};
let mut list = CSSRuleList::new();
let rule = Arc::new(Mutex::new(CSSStyleRule::new(".class")));
list.append_rule(rule);
assert_eq!(list.length(), 1);Implementations§
Source§impl CSSRuleList
impl CSSRuleList
Sourcepub fn from_rules(rules: Vec<Arc<Mutex<dyn CSSRuleTrait>>>) -> Self
pub fn from_rules(rules: Vec<Arc<Mutex<dyn CSSRuleTrait>>>) -> Self
从规则向量创建
Sourcepub fn length(&self) -> u32
pub fn length(&self) -> u32
获取规则数量
§示例
use iris_cssom::cssrulelist::CSSRuleList;
let list = CSSRuleList::new();
assert_eq!(list.length(), 0);Sourcepub fn item(&self, index: u32) -> Option<Arc<Mutex<dyn CSSRuleTrait>>>
pub fn item(&self, index: u32) -> Option<Arc<Mutex<dyn CSSRuleTrait>>>
根据索引获取规则
§参数
index- 规则索引(从 0 开始)
§返回值
返回指定索引的规则,如果索引超出范围则返回 None
§示例
use iris_cssom::cssrulelist::CSSRuleList;
use iris_cssom::cssrule::CSSStyleRule;
use std::sync::{Arc, Mutex};
let mut list = CSSRuleList::new();
let rule = Arc::new(Mutex::new(CSSStyleRule::new(".class")));
list.append_rule(rule.clone());
let retrieved = list.item(0);
assert!(retrieved.is_some());Sourcepub fn append_rule(&mut self, rule: Arc<Mutex<dyn CSSRuleTrait>>)
pub fn append_rule(&mut self, rule: Arc<Mutex<dyn CSSRuleTrait>>)
Sourcepub fn insert_rule(
&mut self,
rule: Arc<Mutex<dyn CSSRuleTrait>>,
index: usize,
) -> bool
pub fn insert_rule( &mut self, rule: Arc<Mutex<dyn CSSRuleTrait>>, index: usize, ) -> bool
Sourcepub fn remove_rule(&mut self, index: usize) -> bool
pub fn remove_rule(&mut self, index: usize) -> bool
Sourcepub fn get_all_css_texts(&self) -> Vec<String>
pub fn get_all_css_texts(&self) -> Vec<String>
获取所有规则的 CSS 文本
§示例
use iris_cssom::cssrulelist::CSSRuleList;
use iris_cssom::cssrule::CSSStyleRule;
use std::sync::{Arc, Mutex};
let mut list = CSSRuleList::new();
let rule1 = Arc::new(Mutex::new(CSSStyleRule::new(".class1")));
let rule2 = Arc::new(Mutex::new(CSSStyleRule::new(".class2")));
list.append_rule(rule1);
list.append_rule(rule2);
let css_texts = list.get_all_css_texts();
assert_eq!(css_texts.len(), 2);Trait Implementations§
Source§impl Clone for CSSRuleList
impl Clone for CSSRuleList
Source§fn clone(&self) -> CSSRuleList
fn clone(&self) -> CSSRuleList
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CSSRuleList
impl Debug for CSSRuleList
Auto Trait Implementations§
impl Freeze for CSSRuleList
impl RefUnwindSafe for CSSRuleList
impl !Send for CSSRuleList
impl !Sync for CSSRuleList
impl Unpin for CSSRuleList
impl UnsafeUnpin for CSSRuleList
impl UnwindSafe for CSSRuleList
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more