Selektory#

Kombinator referencji /ref/#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
E /ref/ F { /* deklaracje */ }

Kombinator referencji # (reference combinator) służy do wskazania elementów, które są ze sobą w pewien sposób powiązane (np. w przypadku kontrolek formularzy i elementu lable).

Kombinator referencji składa się z dwóch slashy (U+002F, /), między którymi znajduje się nazwa kwalifikowana CSS, i oddziela on dwa selektory złożone (np. input /for/ lable dla atrybutowego powiązania w HTML). Białe znaki przed pierwszym slashem i za drugim slashem są opcjonalne i nie mają specjalnego znaczenia.

Element reprezentowany przez pierwszy selektor złożony (z lewej strony) jawnie odwołuje się do elementu reprezentowanego przez drugi selektor (z prawej strony). O ile język gospodarza nie określa innej składni dla wyrażenia tego związku, to relacja istnieje wtedy, gdy wartość określonego atrybutu w pierwszym elemencie jest typu IDREF lub selektorem identyfikatora odwołującym się do drugiego elementu. Dopasowanie atrybutu dla kombinatorów referencyjnych stosuje te same zasady, jak w przypadku selektorów atrybutów.

Na chwilę obecną żadna aktualna przeglądarka nie obsługuje kombinatora referencji. W zasadzie jest to opcja właściwa dla kompletnego profilu CSS, więc testy w pierwszej kolejności należałoby przeprowadzać w implementacjach korzystających z tego profilu, np. za pomocą API selektorów.

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<!DOCTYPE html>
<html>

<head>

	<style>

		#l1 /for/ input {border: 5px solid yellow; color: red;}
		#l3 input {border: 5px solid yellow; color: red;}

	</style>

	<script>

		window.onload = function(){

			document.querySelector("#l2 /for/ input").style.cssText = "border: 5px solid yellow; color: red;";

		}

	</script>

</head>

<body>

	<p>Element INPUT powinien uzyskać zółte obramowanie i czerwony tekst:</p>

	<label id="l1" for="name1">Wariant CSS (powiązanie): </label>
	<input id="name1" type="text">

	<label id="l2" for="name2">Wariant JS (powiązanie): </label>
	<input id="name2" type="text">

	<p>Jak w poniższym przypadku:</p>

	<label id="l3">Wariant CSS (zagnieżdżenie): <input type="text" name="imie"></label>

</body>

</html>

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Selektory (H1) Kombinator referencji /ref/ (H2) Specyfikacje i inne materiały (H3)