Доступ к значению атрибута 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 за любые идеи.

12
0
3
Общее количество ответов: 3

Ответ #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, хотя я не использовал его и понятия не имею о других браузерах. Во всяком случае, он определенно не пользуется хорошей поддержкой.

14
1

  • @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 тот же трюк. Надеюсь, это поможет.

5
0

Ответ #3

Ответ на вопрос: Доступ к значению атрибута HTML в SASS

Если вы хотите получить доступ к атрибуту 9X_div-layouts HTML из CSS, вы можете использовать attr()

Check the doc

1
0