Dapatkan nilai pengiraan pembolehubah CSS menggunakan ungkapan seperti calc
P粉111627787
P粉111627787 2023-10-25 09:39:36
0
2
863

Dalam JavaScript, anda boleh menggunakangetPropertyValue(property)获取 CSS 变量的值。此函数对于检索:rootpembolehubah yang diisytiharkan dalam blok sebagai berguna.

:root { --example-var: 50px; }

Tetapi ini juga benar jika ungkapan berubah ini mengandungi sesuatu seperticalc的函数,则getPropertyValue调用将以文本形式返回表达式而不是计算它,即使使用getCompulatedStyle.

:root { --example-var: calc(100px - 5px); }

Bagaimana untuk mendapatkan nilai pengiraan pembolehubah CSS menggunakan fungsi CSS seperticalc?

Lihat contoh di bawah:


let div = document.getElementById('example'); console.log(window.getComputedStyle(div).getPropertyValue('--example-var'))
:root { --example-var: calc(100px - 5px); }


P粉111627787
P粉111627787

membalas semua (2)
P粉936509635

Cara pelik ialah menambah

:root { --example-var: calc(100px - 5px); } #var-calculator { // can be fetched through .getBoundingClientRect().width width: var(--example-var); // rest of these just to make sure this element // does not interfere with your page design. opacity: 0; position: fixed; z-index: -1000; }
 
const width = document.getElementById('var-calculator').getBoundingClientRect().width

Saya tidak tahu sama ada ini akan berfungsi untuk kes penggunaan anda, tetapi saya baru sahaja mengujinya dan ia berfungsi.

    P粉838563523

    Secara teknikal anda tidak boleh, kerana nilai yang dikira tidak statik dan akan bergantung pada sifat lain. Dalam kes ini, ia adalah mudah kerana kita berurusan dengan nilai piksel, tetapi bayangkan situasi di mana anda akan mempunyai nilai peratusan. Peratusan adalah relatif kepada atribut lain, jadi dalam unit sepertivar()一起使用之前我们无法计算它。如果我们使用emch, logiknya adalah sama

    Berikut ialah contoh mudah untuk menggambarkan:

    let div = document.getElementById('example'); console.log(window.getComputedStyle(div).getPropertyValue('--example-var')) console.log(window.getComputedStyle(div).getPropertyValue('font-size')) console.log(window.getComputedStyle(div).getPropertyValue('width')) console.log(window.getComputedStyle(div).getPropertyValue('background-size'));
    :root { --example-var: calc(100% + 5px - 10px); } #example { font-size:var(--example-var); width:var(--example-var); background-size:var(--example-var); }
    some text
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!