$primary-height ?
<style style lang="sass">
$primary-height: 925px
.bg-top-home-height:before
height: $primary-height
</style>
Никак. Нужно вынести primary-height в инлайн-стили и тогда можно будет менять. Или использовать styled components.
Если есть фиксированное кол-во высот, то можно создать соответствующие СSS классы и переключать их в коде.
использовать CSS переменные, а не SАSS
В web api появилась возможность менять значение CSS переменных из JS? Можно ссылку на доки?
всегда была попробуй загуглить
Тогда вот вариант хороший от Ruslan: https://www.w3schools.com/css/css3_variables_javascript.asp
через переменные для цсс можно. <template> <div :style="style"> hello </div> </template> <script setup> import { computed } from "vue"; const style = computed(()=>({'--text-color': 'red'})) </script> <style> div { color: var(--text-color); } </style>
но лучше через компутед
Как я вынесу если у меня она внутри класса? Причём с :before?
жестко ты придумал)
Да это геморрой и не автоматизация ничуть
Вынести можно. Но я ниже писал что вариант с CSS переменными который посоветовал Ruslan будет наилучшим и естественным.
что то типа :style="{ maxHeight: isOpen ? listMaxHeight : '0px' }" const listMaxHeight = computed(()=>'100px')
А ради чего computed, если константа внутри?
например у нас див такой <div ref="listDOM" :style="{ maxHeight: isOpen ? listMaxHeight : '0px' }" > тогда в компутед можно дом передать // РЕФ списка и его максимальная высота const listDOM = ref(null); const listMaxHeight = maxHeight(listDOM); // Максимальная высота ДОМ элемента const maxHeight = (refDOM, margin = 27) => computed(() => toPx(val(refDOM) ? calcHeight(margin, rect(refDOM)) : 0));
это круто к как ко вью прикрутить? можно в криэтид js код вставить?
ты по приколу игноришь https://vuejs.org/api/sfc-css-features.html#v-bind-in-css
братан это самый крутой варик, я до него еще не дошелчитал другие
ого, крутая штука, не видел её тоже раньше
Обсуждают сегодня