Эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

#video_volume {
width: 34px;
height: 20px;
font: 14px Arial;
color: white;
background: gray;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
-khtml-border-radius: 0.5em;
border-radius: 0.5em;
}
У нас получается пустой скруглённый прямоугольник. Теперь надо нарисовать уменьшающиеся прямоугольники. Как? Первая идея, которой я и воспользовался — вложить теги внутрь друг друга и сделать что-то, чтобы каждый потомок был ниже своего родителя:
<span>❚<span>❚<span>❚<span>❚<span>❚</span></span></span></span></span>
В стиле прописываем абсолютную позицию и margin-top, чтобы сделать отступ от родительского элемента:
#video_volume span {
position: absolute;
margin-top: 1px;
}
Получилась этакая рекурсия стилей. Уже близко к тому, что хочется получить.
#video_volume div {
clip: rect(auto, auto, 14px, auto);
position: absolute; /* crop работает только у абсолютно позиционированных элементов */
/* кстати, ребята из W3C, почему вы забыли про crop? почему только прямоугольник, зачем position? */
}
Почти то что нужно, но повёрнуто в другую сторону:

<head>
<style type="text/css">
#video_volume, #video_volume div {
width: 34px;
height: 20px;
font: 14px Arial;
color: white;
background: gray;
padding-right: 5px;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
-khtml-border-radius: 0.5em;
border-radius: 0.5em;
}
#video_volume div {
clip: rect(auto, auto, 14px, auto);
position: absolute;
direction: rtl;
}
#video_volume span {
position: absolute;
margin-top: 1px;
}
</style>
</head>
<body>
<div id="video_volume">
<div>
<span>❚<span>❚<span>❚<span>❚<span>❚</span></span></span></span></span>
</div>
</div>
</body>
Кстати, «Опере» rtl правильно не работает (по крайней мере в моей 10.60 alpha), нужно расставлять margin, но я этого делать не буду. В конце-концов, это пример, демонстрирующий идею.
bolk (bolknote.ru)
8 июня 2010, 20:55,
ответ предназначен j-raf.livejournal.com:
bolk (bolknote.ru)
8 июня 2010, 20:55,
ответ предназначен j-raf.livejournal.com:
j-raf.livejournal.com (j-raf.livejournal.com)
8 июня 2010, 23:07,
ответ предназначен bolk (bolknote.ru):
bolk (bolknote.ru)
8 июня 2010, 23:32,
ответ предназначен j-raf.livejournal.com:
lusever.ru (lusever.ru)
9 июня 2010, 00:27
bolk (bolknote.ru)
9 июня 2010, 00:34,
ответ предназначен lusever.ru:
Шрифт в разных системах/браузерах может отличаться. Соответственно символ станет неконтролируемым. Например отобразиться пустой квадратикНужно просто выбирать Unicode-шрифт, который есть на всех системах. Страница в любом случае никогда не выглядит одинаково во всех браузерах на всех ОС. Особенно всё то, что касается CSS3/HTML5.
Страница может содержать кусок css который в обычной жизни ни как не мешает, но тут может повлиять. Например какой-нибудь хак типа: #myid span { font-family: Tahoma !important; }ID стили надо выбирать так, чтобы они не пересекались. Не посторонние же люди вставляют всё это, должны разбираться.
lusever.ru (lusever.ru)
9 июня 2010, 01:15,
ответ предназначен bolk (bolknote.ru):
bolk (bolknote.ru)
9 июня 2010, 01:21,
ответ предназначен lusever.ru:
отличие только в шрифтах и стандартных контролах (input, cursor).Отличие в шрифтах, контролах, отрисовке Canvas, масштабировании изображений, отрисовке фреймов, апплетов, рисовании теней, анимации, скруглений и ещё чёрт знает чего. Из-за этого большинство сайтов стараются это всё не использовать.
И кажется, для оперы копировать контент не запретишь.Запретишь, всё ок.
Я сам люблю куда-нибудь символы повставлять. А потом начинается: другой дизайн, кастомные расстояния, глюки браузеров и систем.У меня была цель сделать проигрыватель для IE :) Никаких других браузеров, систем и прочее. :)
zero-sharp (zero-sharp.livejournal.com)
26 июня 2010, 04:17
bolk (bolknote.ru)
26 июня 2010, 14:45,
ответ предназначен zero-sharp (zero-sharp.livejournal.com):
j-raf.livejournal.com (j-raf.livejournal.com)
А зачем обратное направление текста? Можно сдвинуть всю конструкцию вниз, а потом поднимать margin-top: -1px.8 июня 2010, 20:42