Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Единицы vw и hw (https://javascript.ru/forum/xhtml-html-css/55153-edinicy-vw-i-hw.html)

Eblinkoff 15.04.2015 22:54

Единицы vw и hw
 
Получается странная вещь: на разных компьютерах в браузерах одной и той же версии они то работают, то нет. А на смартфоне, как не странно, тоже всё работает. Как сделать так, чтобы когда оно поддерживается в css включать vw, а когда нет - % ?

hfts_rider 16.04.2015 15:56

Значит версии разные!
Если у тебя на сайте без них можно обойтись, зачем ты их вообще используешь?

mikhail.golovkin 16.04.2015 20:42

Css

.your-awesome-element {
    /** Всегда устанавливается. */
    width: 50%;

    /** Перезатрёт предыдущее свойство, если поддерживается, иначе проигнорируется. */
    width: 50vw;
}


Modernizr

Нужные тесты в ядро не входят (non-core detects), поэтому нужно собрать его под себя, указав css-vwunit.

Modernizr по умолчанию навешивает классы тестов на html:

.your-awesome-element {
    width: 50%;
}

html.cssvwunit .your-awesome-element {
    width: 50vw;
}


Или на js:

var units = ['%', 'vw'];
var element = document.querySelector('.your-awesome-element');

element.style.width = 50 + units[+Modernizr.cssvwunit];

Eblinkoff 17.04.2015 19:42

Спасибо!


Часовой пояс GMT +3, время: 11:34.