--- title: Wiązania XBL slug: Web/CSS/Na_początek/Wiązania_XBL tags: - 'CSS:Na_początek' translation_of: Archive/Beginner_tutorials/Using_XBL_from_stylesheets ---
Ta strona opisuje jak możesz używać CSS-u w Mozilli, aby poprawić strukturę złożonych aplikacji, sprawiając, że kod i zasoby stają się wygodniejsze do zarządzania i ponownego użycia.
Wykorzystasz te techniki w przykładowej demonstracji.
Struktura dostarczana przez język znaczników i CSS nie jest idealna dla złożonych aplikacji, gdzie fragmentu muszą być kompletne i umożliwiać ponowne wykorzystanie. Możesz umieścić arkusze stylów w osobnych plikach, możesz umieścić skrypty w osobnych plikach. Ale musisz dodawać odnośniki do tych plików z dokumentu.
Inne ograniczenie strukturalne dotyczy zawartości. Możesz użyć CSS, aby dodać zawartość do wybranych elementów, ale ta zawartość jest ograniczona do tekstu i obrazków, a ich pozycjonowanie jest ograniczone do przed i za wybranym elementem.
Mozilla dodaje mechanizm, który pozwala pokonać te ograniczenia: XBL (Język Wiązań XML). Możesz używać XBL-a do wiązania wybranych elementów:
Ponieważ unikasz umieszczania odnośników do tego wszystkiego w dokumencie, możesz stworzyć elementy kompletne, którymi łatwo można zarządzać i które można wielokrotnie wykorzystywać.
Aby dowiedzieć się więcej o wiązaniach XBL, zajrzyj na stronę o XBL na tym wiki. |
Stwórz nowy dokument HTML, doc6.html
.
Skopiuj i wklej do niego poniższy kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <TITLE>Mozilla CSS Getting Started - XBL demonstration</TITLE> <LINK rel="stylesheet" type="text/css" href="style6.css"></strong> </HEAD> <BODY> <H1>XBL demonstration</H1> <DIV id="square">Click Me</DIV> </BODY> </HTML>
Stwórz nowy plik CSS, style6.css
.
Ten arkusz stylów zawiera style dokumentu.
Skopiuj i wklej do niego poniższy kod:
/*** XBL demonstration ***/ #square { -moz-binding: url("square.xbl#square"); }
Stwórz nowy plik tekstowy, square.xbl
.
Ten plik zawiera wiązanie XBL.
Skopiuj i wklej do niego poniższy kod, upewniając się, że zaznaczyłeś(aś) cały:
<?xml version="1.0"?> <!DOCTYPE bindings> <bindings xmlns="http://www.mozilla.org/xbl"> <binding id="square"> <resources> <stylesheet src="bind6.css"/> </resources> <content xmlns="http://www.w3.org/1999/xhtml"> <div anonid="square"/> <button anonid="button" type="button"> <xbl:children/> </button> </content> <implementation> <field name="square"><![CDATA[ document.getAnonymousElementByAttribute(this, "anonid", "square") ]]></field> <field name="button"><![CDATA[ document.getAnonymousElementByAttribute(this, "anonid", "button") ]]></field> <method name="doDemo"> <body><![CDATA[ this.square.style.backgroundColor = "#cf4" this.square.style.marginLeft = "20em" this.button.setAttribute("disabled", "true") setTimeout(this.clearDemo, 2000, this) ]]></body> </method> <method name="clearDemo"> <parameter name="me"/> <body><![CDATA[ me.square.style.backgroundColor = "transparent" me.square.style.marginLeft = "0" me.button.removeAttribute("disabled") ]]></body> </method> </implementation> <handlers> <handler event="click" button="0"><![CDATA[ if (event.originalTarget == this.button) this.doDemo() ]]></handler> </handlers> </binding> </bindings>
Stwórz nowy plik CSS, bind6.css
.
Ten arkusz stylów zawiera style do wiązań.
Skopiuj i wklej do niego poniższy kod:
/*** XBL demonstration ***/ [anonid="square"] { width: 20em; height: 20em; border: 2px inset gray; } [anonid="button"] { margin-top: 1em; padding: .5em 2em;" }
Otwórz dokument w swojej przeglądarce i naciśnij przycisk.
To wiki nie obsługuje JavaScript-u na stronach, więc nie jest możliwe pokazanie demonstracji. Wygląda to mniej więcej tak jak poniżej, przed i po naciśnięciu przycisku:
|
|
Uwagi dotyczące demonstracji:
Zmień plik XBL tak, aby obiekt square poszerzał się dwukrotnie, zamiast przeskakiwania w prawo, kiedy zmienia kolor.
Użyj Inspektora DOM, aby zbadać dokument, analizując dodaną zawartość. |
Jeżeli masz problemy ze zrozumieniem tej strony albo chcesz ją skomentować, pomóż nam, dopisując się na stronie Dyskusji.
W tej demonstracji obiekt square oraz przycisk tworzą kompletną kontrolkę, która działa wewnątrz dokumentu HTML.
Mozilla posiada wyspecjalizowany język znaczników do tworzenia interfejsów użytkownika. Demonstruje to następna strona: XUL-owe interfejsy użytkownika
{{ languages( { "en": "en/CSS/Getting_Started/XBL_bindings", "fr": "fr/CSS/Premiers_pas/Liaisons_XBL", "pt": "pt/CSS/Como_come\u00e7ar/XBL_bindings" } ) }}