CSS Typed Object Model API
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
CSS Typed Object Model API đơn giản hóa thao tác thuộc tính CSS bằng cách biểu thị các giá trị CSS dưới dạng các đối tượng JavaScript có kiểu thay vì chuỗi. Điều này không chỉ đơn giản hóa thao tác CSS mà còn giảm thiểu tác động tiêu cực đến hiệu suất so với HTMLElement.style.
Nói chung, các giá trị CSS có thể được đọc và ghi trong JavaScript dưới dạng chuỗi, điều này có thể chậm và cồng kềnh. CSS Typed Object Model API cung cấp các giao diện để tương tác với các giá trị cơ bản, bằng cách biểu diễn chúng với các đối tượng JS chuyên biệt có thể được thao tác và hiểu dễ dàng và đáng tin cậy hơn so với phân tích và nối chuỗi. Điều này dễ dàng hơn cho tác giả (ví dụ: các giá trị số được phản ánh với các số JS thực tế và có các phép toán toán học nhận thức đơn vị được định nghĩa cho chúng). Nó cũng thường nhanh hơn, vì các giá trị có thể được thao tác trực tiếp và sau đó được dịch lại thành các giá trị cơ bản mà không cần xây dựng và phân tích chuỗi CSS.
CSS Typed OM cho phép thao tác hiệu quả các giá trị được gán cho các thuộc tính CSS trong khi cho phép mã bảo trì được dễ hiểu và dễ viết hơn.
Giao diện
>CSSStyleValue
Giao diện CSSStyleValue của CSS Typed Object Model API là lớp cơ sở của tất cả các giá trị CSS có thể truy cập thông qua Typed OM API. Một phiên bản của lớp này có thể được sử dụng ở bất kỳ đâu một chuỗi được mong đợi.
CSSStyleValue.parse()-
Phương thức cho phép
CSSNumericValueđược xây dựng từ một chuỗi CSS. Nó đặt một thuộc tính CSS cụ thể thành các giá trị được chỉ định và trả về giá trị đầu tiên dưới dạng đối tượngCSSStyleValue. CSSStyleValue.parseAll()-
Phương thức đặt tất cả các lần xuất hiện của một thuộc tính CSS cụ thể thành giá trị được chỉ định và trả về một mảng các đối tượng
CSSStyleValue, mỗi đối tượng chứa một trong các giá trị được cung cấp.
StylePropertyMap
Giao diện StylePropertyMap của CSS Typed Object Model API cung cấp biểu diễn của một khối khai báo CSS là một giải pháp thay thế cho CSSStyleDeclaration.
StylePropertyMap.set()-
Phương thức thay đổi khai báo CSS với thuộc tính đã cho thành giá trị đã cho.
StylePropertyMap.append()-
Phương thức thêm một khai báo CSS mới vào
StylePropertyMapvới thuộc tính và giá trị đã cho. StylePropertyMap.delete()-
Phương thức xóa khai báo CSS với thuộc tính đã cho khỏi
StylePropertyMap. StylePropertyMap.clear()-
Phương thức xóa tất cả các khai báo trong
StylePropertyMap.
CSSUnparsedValue
Giao diện CSSUnparsedValue của CSS Typed Object Model API đại diện cho các giá trị thuộc tính tham chiếu đến các thuộc tính tùy chỉnh. Nó bao gồm một danh sách các đoạn chuỗi và các tham chiếu biến.
- Hàm khởi tạo
CSSUnparsedValue() -
Tạo một đối tượng
CSSUnparsedValuemới đại diện cho các giá trị thuộc tính tham chiếu đến các thuộc tính tùy chỉnh. CSSUnparsedValue.entries()-
Phương thức trả về một mảng các cặp thuộc tính
[key, value]của đối tượng theo cùng thứ tự như trong vòng lặpfor...in. CSSUnparsedValue.forEach()-
Phương thức thực thi một hàm được cung cấp một lần cho mỗi phần tử của
CSSUnparsedValue. CSSUnparsedValue.keys()-
Phương thức trả về một đối tượng array iterator mới chứa các khóa cho mỗi chỉ mục trong mảng.
Tuần tự hóa CSSKeywordValue
Giao diện CSSKeywordValue của CSS Typed Object Model API tạo ra một đối tượng để biểu diễn các từ khóa CSS và các định danh khác.
- Hàm khởi tạo
CSSKeywordValue() -
Hàm khởi tạo tạo một đối tượng
CSSKeywordValue()mới biểu diễn các từ khóa CSS và các định danh khác. CSSKeywordValue.value()-
Thuộc tính của giao diện
CSSKeywordValuetrả về hoặc đặt giá trị củaCSSKeywordValue.
Giao diện CSSStyleValue
CSSStyleValue là lớp cơ sở thông qua đó tất cả các giá trị CSS được biểu diễn. Các lớp con bao gồm:
CSSImageValue-
Giao diện biểu diễn các giá trị cho các thuộc tính nhận hình ảnh, ví dụ
background-image,list-style-imagehoặcborder-image-source. CSSKeywordValue-
Giao diện tạo ra một đối tượng biểu diễn các từ khóa CSS và các định danh khác. Khi được sử dụng ở nơi một chuỗi được mong đợi, nó sẽ trả về giá trị của
CSSKeyword.value. CSSMathValue-
Một cây con lớp biểu diễn các giá trị số phức tạp hơn một giá trị và đơn vị duy nhất, bao gồm:
CSSMathMax- biểu diễn hàm CSSmax().CSSMathMin- biểu diễn hàm CSSmin().CSSMathNegate- phủ định giá trị được truyền vào.CSSMathInvert- biểu diễn giá trị CSScalc()được sử dụng nhưcalc(1 / <value>).CSSMathProduct- biểu diễn kết quả thu được bằng cách gọimul()hoặcdiv()trênCSSNumericValue.CSSMathSum- biểu diễn kết quả thu được bằng cách gọiadd(),sub()hoặctoSum()trênCSSNumericValue.
CSSNumericValue-
Giao diện biểu diễn các phép toán mà tất cả các giá trị số có thể thực hiện, bao gồm:
CSSNumericValue.add- Cộng các số được cung cấp vàoCSSNumericValue.CSSNumericValue.sub- Trừ các số được cung cấp khỏiCSSNumericValue.CSSNumericValue.mul- Nhân các số được cung cấp vớiCSSNumericValue.CSSNumericValue.div- ChiaCSSNumericValuecho giá trị được cung cấp, báo lỗi nếu là0.CSSNumericValue.min- Trả về giá trị nhỏ nhất được truyền vào.CSSNumericValue.max- Trả về giá trị lớn nhất được truyền vào.CSSNumericValue.equals- Trả về true nếu tất cả các giá trị có cùng loại và giá trị, theo cùng thứ tự. Ngược lại, false.CSSNumericValue.to- Chuyển đổivaluesang giá trị khác với đơn vị được chỉ định.CSSNumericValue.toSumCSSNumericValue.typeCSSNumericValue.parse- Trả về một số được phân tích từ chuỗi CSS.
CSSPositionValue-
Biểu diễn các giá trị cho các thuộc tính nhận một vị trí, ví dụ object-position.
CSSTransformValue-
Giao diện biểu diễn một danh sách các giá trị
transform. Chúng "chứa" một hoặc nhiềuCSSTransformComponent, biểu diễn các giá trị hàmtransformriêng lẻ. CSSUnitValue-
Giao diện biểu diễn các giá trị số có thể được biểu diễn dưới dạng một đơn vị duy nhất hoặc một số được đặt tên và phần trăm.
CSSUnparsedValue-
Biểu diễn các giá trị thuộc tính tham chiếu thuộc tính tùy chỉnh. Nó bao gồm một danh sách các đoạn chuỗi và các tham chiếu biến.
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| CSS Typed OM Level 1> # stylevalue-objects> |
| CSS Typed OM Level 1> # the-stylepropertymap> |
| CSS Typed OM Level 1> # cssunparsedvalue> |
| CSS Typed OM Level 1> # keywordvalue-objects> |