Доступ к значению атрибута HTML в SASS
Можно ли получить доступ к значению атрибута 9X_nested-divs HTML в SASS? У меня есть строка кода, в 9X_html-attributes которой говорится:
, где 3
- это результат 9X_html-head некоторого материала jQuery. Мне нужен 3
для 9X_html-comments расчета CSS. Как я могу сохранить его как 9X_sass переменную SASS?
В качестве альтернативы, есть 9X_html-attributes ли способ подсчитать количество дочерних 9X_nested-divs элементов определенного родительского элемента? Скажем, у 9X_html-comments меня есть этот код:
- First list item
- Second list item
- Third list item
(Как вы могли догадаться, значение 9X_htmldocument data-count
соответствует количеству элементов списка.) Может 9X_div ли SASS подсчитать элементы списка и сохранить 9X_html это число как переменную?
Мы будем благодарны 9X_html-head за любые идеи.
Ответ #1
Ответ на вопрос: Доступ к значению атрибута HTML в SASS
Sass - это просто генератор CSS. На самом 9X_time-tag деле он не взаимодействует с вашим HTML, поэтому 9X_dom вы не можете использовать атрибуты HTML 9X_time-tag в качестве переменных Sass.
Однако CSS может 9X_dom выбирать на основе атрибутов. Так что это 9X_html будет более пространно, чем вам хотелось 9X_webpage бы, но вы можете сделать что-то вроде
ul[data-count="3"]:after
content: "There were three items in that list!"
И я 9X_htmldocument думаю, что если вы хотите ограничиться только 9X_div подмножеством последних браузеров † , вы можете 9X_htmldocument использовать функцию CSS calc()
вместе с attr()
, чтобы 9X_divs использовать атрибут в вычислениях на основе 9X_nested-divs CSS. Но это довольно передовой край.
† Если честно, я понятия не имею, в каких версиях браузеров это реализовано полностью. Я почти уверен, что он есть в Firefox, хотя я не использовал его и понятия не имею о других браузерах. Во всяком случае, он определенно не пользуется хорошей поддержкой.
- @SLaks: Я не думаю, что хорошо поддерживается взаимодействие `calc()` и `attr()`. Сам `calc()` появился довольно недавно, но далеко не так экзотичен, как поддержка использ ...
Ответ #2
Ответ на вопрос: Доступ к значению атрибута HTML в SASS
Похоже, вы пытаетесь получить количество 9X_html-dom элементов в своем неупорядоченном списке 9X_html-dom в CSS (может быть, чтобы изменить их размер 9X_div-layouts в соответствии с количеством братьев и сестер?).
Действительно, вы 9X_time-tag не можете использовать атрибут данных в 9X_time-tag качестве переменной Sass. Однако существует чистый способ CSS для применения условных стилей с учетом количества элементов в родительском элементе. Кроме 9X_span того, это очень легко написать на Sass.
Допустим, ваше 9X_htmldocument максимальное количество элементов в вашем 9X_html-attributes списке - 10, и вы хотите вычислить размер 9X_html-dom тегов li на основе количества тегов li в 9X_html-tag вашем списке.
@for $i from 1 through 10 {
li:first-child:nth-last-child(#{$i}),
li:first-child:nth-last-child(#{$i}) ~ li {
width: (100%/$i);
}
}
Будет выведен следующий CSS:
li:first-child:nth-last-child(1),
li:first-child:nth-last-child(1) ~ li {
width: 100%;
}
li:first-child:nth-last-child(2),
li:first-child:nth-last-child(2) ~ li {
width: 50%;
}
li:first-child:nth-last-child(3),
li:first-child:nth-last-child(3) ~ li {
width: 33.33333%;
}
li:first-child:nth-last-child(4),
li:first-child:nth-last-child(4) ~ li {
width: 25%;
}
li:first-child:nth-last-child(5),
li:first-child:nth-last-child(5) ~ li {
width: 20%;
}
li:first-child:nth-last-child(6),
li:first-child:nth-last-child(6) ~ li {
width: 16.66667%;
}
li:first-child:nth-last-child(7),
li:first-child:nth-last-child(7) ~ li {
width: 14.28571%;
}
li:first-child:nth-last-child(8),
li:first-child:nth-last-child(8) ~ li {
width: 12.5%;
}
li:first-child:nth-last-child(9),
li:first-child:nth-last-child(9) ~ li {
width: 11.11111%;
}
li:first-child:nth-last-child(10),
li:first-child:nth-last-child(10) ~ li {
width: 10%;
}
В 9X_html-attributes основном это дает тегам li ширину:
-
100.0%
когда есть только один тег li -
50.00%
при наличии двух тегов li -
33.33%
при наличии трех тегов li -
25.00%
при наличии 4 тегов li -
20.00%
при наличии 5 тегов li -
16.66%
при наличии 6 тегов li -
14.28%
при наличии 7 тегов li -
12.50%
при наличии 8 тегов li -
11.11%
при наличии 9 тегов li -
10.00%
при наличии 10 тегов li
Для живого 9X_nested-divs примера обратитесь к this demo, который я использовал, используя 9X_webpage тот же трюк. Надеюсь, это поможет.
Ответ #3
Ответ на вопрос: Доступ к значению атрибута HTML в SASS
Если вы хотите получить доступ к атрибуту 9X_div-layouts HTML из CSS, вы можете использовать attr()
-
3
-
9
-
1
-
1
-
3
-
3
-
2
-
2
-
1
-
1
-
1
-
5
-
2
-
2
-
3
-
2
-
6
-
2
-
1
-
4
-
1
-
2
-
2
-
1
-
2
-
1
-
1
-
2
-
2
-
3
-
3
-
3
-
6
-
3
-
1
-
2
-
8
-
1
-
1
-
2
-
7
-
13
-
11
-
26
-
15
-
31
-
6
-
4
-
17
-
2