Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Целочисленные значения для CSS (https://javascript.ru/forum/misc/14538-celochislennye-znacheniya-dlya-css.html)

revvo 20.01.2011 17:47

Целочисленные значения для CSS
 
Я так понял в js нет целочисленного деления?
И если делить оператором "/", чтобы задать в стиле позицию left например left=135/2; Это получится 67,5 пикселей. Это нормально для CSS? Пиксель это же вроде дискретная единица.

Aetae 20.01.2011 18:09

alert([
Math.floor(67.9),
Math.ceil(67.1),
Math.round(67.9),
Math.round(67.1)
])

revvo 20.01.2011 18:37

С целыми числами понятно. Спасибо.
А как насчет CSS? Стоит ли применять эти округления (для пиксельних значений я имею ввиду), или и так подходит?

Aetae 20.01.2011 19:16

По стандарту нужно. А так каждый браузер интерпретирует по своему, некоторые вообще отказываются воспринимать значения.)

Kolyaj 20.01.2011 19:18

Цитата:

Сообщение от Aetae
По стандарту нужно.

По стандарту дробные числа разрешены в CSS. Но опера традиционно их не переваривает. Не знаю, как сейчас в последних версиях.

x-yuri 21.01.2011 13:49

хм, а интересно, в какой опере это не работало? У меня в 9.0 build 8502 работает
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <div id="test"></div>
    <style type="text/css">
        #test {
            position: absolute;
            width: 50px;
            height: 50px;
            background: #aaf;
        }
    </style>
    <script type="text/javascript">
        var left = 100+Math.random();
        var div = document.getElementById('test');
        div.style.left = left;
        div.innerHTML = left;
    </script>
</body>
</html>

x-yuri 21.01.2011 13:52

а без 'px' только в опере и ie и работает...

Kolyaj 21.01.2011 13:54

x-yuri,
а вот не помню, где я про это читал :) Сам всегда округляю вобщем-то.

revvo 21.01.2011 16:36

Цитата:

Сообщение от x-yuri (Сообщение 89020)
а без 'px' только в опере и ie и работает...

А разве без px, это не кратность по сравнению с размером по умолчанию? Или это просто Мозилла так это воспринимает?
Кстати, а по стандарту CSS, вообще без единиц - это что?

Kolyaj 21.01.2011 16:49

Цитата:

Сообщение от revvo
Кстати, а по стандарту CSS, вообще без единиц - это что?

Это ошибка.


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