Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   z-index magic. (https://javascript.ru/forum/xhtml-html-css/28909-z-index-magic.html)

melky 06.06.2012 22:02

z-index magic.
 
Мне нужна ваша помощь в одном вопросе. Есть блок, у которого позиционирование относительное\абсолютное. У этого блока есть потомок, у которого абсолютное позиционирование. Как расположить визуально потомка ниже родителя? Оба блока имеют статичные ширину и высоту.

Вот пример - зелёный блок положить под красный :
http://jsbin.com/ekufop


PS. предпочтительна работа в IE 7,8.

devote 06.06.2012 22:06

никак, нельзя ребенка положить ниже родителя. Хотя если -1 поставить то должно

Deff 06.06.2012 22:10

???

#below {
    z-index:-1;
    background-color: green;
    position: absolute;
    
    top: 20px;
    left: 20px;
    
  }

devote 06.06.2012 22:11

ну да, -1 вроде помогает.. не зря я с сомнением ответил.. лень тестить просто было.

melky 06.06.2012 22:15

devote, Deff, спасибо. Но в IE 7 не работает этот способ. Что делать?
http://jsbin.com/ekufop/2

Seva1986 06.06.2012 22:21

Цитата:

Сообщение от melky
Но в IE 7 не работает этот способ.

Не у верен, но попробуй поставить родителью z-index:1 например. вроде бы это помогает но точно не помню.

Не вроде не работает...

melky 06.06.2012 22:32

Цитата:

Сообщение от Seva1986
Не у верен, но попробуй поставить родителью z-index:1 например. вроде бы это помогает но точно не помню.

http://jsbin.com/ekufop/3
Сломалось :).

devote 06.06.2012 22:49

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
  <title>:)</title>
<style>
  #above, #below {
    width: 300px;
    height: 300px;
  }
  
  #above {
    background-color: red;
    position: relative;

    top: 10px;
    left: 15px;

  }

  #below {
    background-color: green;
    position: absolute;

    z-index: -1;
    top: 20px;
    left: 20px;


	/* весь этот говнокод ради ИЕ7 */
	border: 0px solid green;
	background-color: expression("transparent");
	width: expression(this.oldWidth?1:(this.oldWidth=this.currentStyle.width),parseInt(this.oldWidth)-parseInt(this.currentStyle.left)+"px");
	height: expression(this.oldHeight?1:(this.oldHeight=this.currentStyle.height),parseInt(this.oldHeight)-parseInt(this.currentStyle.top)+"px");
	border-bottom-width: expression(this.currentStyle.top);
	border-right-width: expression(this.currentStyle.left);
  }
</style>
</head>
<body>
  <div id="above">
    Hello World
    <div id="below"></div>
  </div>
</body>
</html>

Deff 06.06.2012 22:55

melky,
Помню что как то боролся,(посколь до devote expression не пользовался) но нужно устраивать танцы с бубном, в принципе, если делать равными квадратами и не на родителе, а с наездом с одинаковым позиционированием - вродь проблем не возникает (Или потомственость оч актуальна ?

melky 06.06.2012 22:55

devote, абалденно. Не могли бы Вы пояснить, почему он работает?

Сохранил как
http://jsbin.com/ekufop/5/



PS. в карме защита от накрутки =)


Цитата:

Сообщение от Deff
melky,
Помню что как то боролся,(посколь до devote expression не пользовался) но нужно устраивать танцы с бубном, в принципе, если делать равными квадратами и не на родителе, а с наездом с одинаковым позиционированием - вродь проблем не возникает (Или потомственость оч актуальна ?

само собой, я знаю, как это делается по-нормальному. но в этой ситуации надо было именно через потомка и родителя.

Этот код относится к имплементации box-shadow для IE. Так "странно", потому что это единственный адекватный и нетормозящий способ.

... а ещё у меня на ноуте не проставлены видео драйверы, и фильтры вроде Shadow у меня не отображаются :) с остальными всё ок.

devote 06.06.2012 23:02

Цитата:

Сообщение от melky
devote, абалденно. Не могли бы Вы пояснить, почему он работает?

Все очень просто, в реале z-index в ИЕ7 работает, это можно увидеть наполнив контентом красный квадрат, тоесть текст ляжет поверх зеленого квадрата, но вот заливку заднего фона ИЕ7 не сует под элемент, поэтому засчет экспрешенов я решил вопрос так.

У нас есть квадрат, размеры его мы знаем, позиции от верха и от низа родителя мы тоже знаем, то-есть в CSS это все прописано, тем самым за счет экспрешена мы убираем задний фон с элемента, и добавляем бордюр элементу с нужным нам цветом. Затем уменьшаем элемент на то значение что указано в top/left. Вся эта хрень не будет увы работать если фоном сделать не просто зеленый цвет а например картинку, тогда увы получим мы хреню.

melky 06.06.2012 23:06

Цитата:

Сообщение от devote
У нас есть квадрат, размеры его мы знаем, позиции от верха и от низа родителя мы тоже знаем, то-есть в CSS это все прописано, тем самым за счет экспрешена мы убираем задний фон с элемента, и добавляем бордюр элементу с нужным нам цветом. Затем уменьшаем элемент на то значение что указано в top/left.

То есть, сплющиваем элемент по width\height, и возвращаем ему размеры с помощью borderWidth? Я правильно понял?

Цитата:

Сообщение от devote
Вся эта хрень не будет увы работать если фоном сделать не просто зеленый цвет а например картинку, тогда увы получим мы хреню.

Не думаю, что у свойства box-shadow может быть картинка :) отличное решение.

devote 06.06.2012 23:07

Цитата:

Сообщение от melky
То есть, сплющиваем элемент по width\height, и возвращаем ему размеры с помощью borderWidth? Я правильно понял?

ага все верно :)

Deff 06.06.2012 23:16

Цитата:

Сообщение от melky
Этот код относится к имплементации box-shadow для IE. Так "странно", потому что это единственный адекватный и нетормозящий способ.

В принципе box-shadow ваще самая тормозная операция во всех браузерах = тут приятель сделал размазку у box-shadow в 300-400 пиксел(типо фона, как в модальном окошке) дык окно гасло и всплывало с ужасным тормозом

Пришлось эмулировать gif- картинкой с прорезом центральной области по размеру вставленного блока и opacity

melky 06.06.2012 23:18

Цитата:

Сообщение от devote (Сообщение 179599)
ага все верно :)

хм... дело дошло до обработки "тени" фильтрами.В IE 7 появляется уродливая обводка белым вокруг #above (красный).
http://jsbin.com/ekufop/6
мне что-то подсказывает, что нужно пооперировать с Chroma filter на #above (красном). Но успехом это не увенчалось.


Цитата:

Сообщение от Deff
В принципе box-shadow ваще самая тормозная операция во всех браузерах = тут приятель сделал размазку у box-shadow в 300-400 пиксел(типо фона, как в модальном окошке) дык окно гасло и всплывало с ужасным тормозом

Пришлось эмулировать gif- картинкой с прорезом центральной области по размеру вставленного блока и opacity

этот "элемент гламура" безбожно тормозит в Chrome при анимациях box-shadow. Не знаю, пофиксили, или нет, но тормоза в настройках Chrome я ощущал.
никогда такое размытие не применял :) максимум дело доходило до 50.

Deff 06.06.2012 23:28

Цитата:

Сообщение от melky
этот "элемент гламура" безбожно тормозит в Chrome при анимациях box-shadow. Не знаю, пофиксили, или нет, но тормоза в настройках Chrome я ощущал.

Везде тормозит -во всех браузах - делал галлерею на shadow -box - захотелось обвести бордеры фоток тенью, дык если тень более 6 пиксел на 5-8 фотках - то воспроизведение этих бордюров на секунды тормозит страницу

devote 06.06.2012 23:53

ладно, вот немного иной говнокод:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
  <title>:)</title>
<style>
  * { margin:0; padding:0; }
  
  #above, #below {
    width: 300px;
    height: 300px;
  }
  
  #above {
    background-color: red;
    position: relative;
    
    top: 10px;
    left: 15px;
  }
  #below {
    background-color: green;
    position: absolute;
    
    top: 20px;
    left: 20px;
    
    z-index: -1;
    
    /*IE7*/
    filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=3);
    /*IE8*/
    -ms-filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=3);

    /* весь этот говнокод ради ИЕ7 */
    govnokod: expression(
		this.elAppended?(
			this.elAppended.style.backgroundImage=this.parentNode.currentStyle.backgroundImage,
			this.elAppended.style.backgroundColor=this.parentNode.currentStyle.backgroundColor
		):(
			this.elAppended=document.createElement('div'),
			this.nextSibling?this.parentNode.insertBefore(this.elAppended,this.nextSibling):
			this.parentNode.appendChild(this.elAppended),
			this.elAppended.style.position='absolute',
			this.elAppended.style.width='100%',
			this.elAppended.style.height='100%',
			this.elAppended.style.backgroundImage=this.parentNode.currentStyle.backgroundImage,
			this.elAppended.style.backgroundColor=this.parentNode.currentStyle.backgroundColor,
			this.elAppended.style.left=0,
			this.elAppended.style.top=0,
			this.elAppended.style.zIndex=-1
		)
	);
  }
</style>
</head>
<body>
  <div id="above">
    Hello World
    <div id="below"></div>
  </div>
</body>
</html>

devote 06.06.2012 23:56

поправил немного :)

devote 07.06.2012 00:12

вот даже проблему с задним фоном решил, тоесть если у родителя другой цвет будешь ставить скриптом, или вообще картинку, то все будет чики-поки.

melky 07.06.2012 00:20

Цитата:

Сообщение от devote (Сообщение 179616)
поправил немного :)

хм... теперь expression один раз создаёт "заготовку" - элемент с такими же размерами, но без содержимого, который перекрывает зелёный элемент (тень), и находится прямо за красным элементом (отбрасывающим тень).

хм.. три элемента вместо одного.. это всё-же лучше бажёного VML, где отваливается правая-нижняя часть у rect в IE8.

немного поигрался... но не понял, почему пропадает зеленый блок (т.е. скрывается за копией красного)

и зачем нужна эта строчка :
this.nextSibling?this.parentNode.insertBefore(this.elAppended,this.nextSibling):
			this.parentNode.appendChild(this.elAppended),


... и почему нельзя вынести свойства в таблицу стилей :blink: это меня удивило больше всего

Засейвил здесь:
http://jsbin.com/ekufop/8/


Цитата:

Сообщение от devote
вот даже проблему с задним фоном решил, тоесть если у родителя другой цвет будешь ставить скриптом, или вообще картинку, то все будет чики-поки.

я тоже заметил, что элементу-копии можно не выставлять background :)


PS завтра докурю и добью box-shadow в IE. сейчас я уже начинаю тупить, и завтра рано вставать. спасибо за помощь.

Nanto 07.06.2012 00:25

Цитата:

Сообщение от melky (Сообщение 179565)
Мне нужна ваша помощь в одном вопросе. Есть блок, у которого позиционирование относительное\абсолютное. У этого блока есть потомок, у которого абсолютное позиционирование. Как расположить визуально потомка ниже родителя? Оба блока имеют статичные ширину и высоту.

Вот пример - зелёный блок положить под красный :
http://jsbin.com/ekufop


PS. предпочтительна работа в IE 7,8.

Опять тупим...
По спеке дочерний блок располагается НАД родителем (а не "выше/ниже"), поскольку он ниже по коду. Выход? Вручную не судьба я-index для ВСЕХ позиционированных элементов проставить (желательно под 1000 - чтобы повторений не было) - дабы избежать подобных накладок???
И до кучи небольшая цитата с htmlbook:
Список, созданный с помощью тега <select>, в браузере Internet Explorer 6 всегда отображается поверх других элементов, несмотря на значение z-index.

Internet Explorer до версии 7.0 включительно не поддерживает значение inherit и интерпретирует auto (это значение по умолчанию, т.е. для не опредённого z-index) как 0.

В браузере Firefox до версии 2.0 включительно отрицательное значение z-index располагает элемент ниже фона веб-страницы и его контента.

Deff 07.06.2012 00:27

melky,
:blink: Ие 7 аш аура у зеленинького

melky 07.06.2012 00:28

Цитата:

Сообщение от Nanto
По спеке дочерний блок располагается НАД родителем (а не "выше/ниже"), поскольку он ниже по коду.

Я знаю, что он находится над родителем, поэтому и обратился на форум после гугла.

Цитата:

Сообщение от Nanto
Выход? Вручную не судьба я-index для ВСЕХ позиционированных элементов проставить (желательно под 1000 - чтобы повторений не было) - дабы избежать подобных накладок???

Ы. Зачем ставить всем спозиционированным элементам z-index, если тут скрипт будет это делать для одного, отдельно взятого ?

Вы поняли, что я хотел получить в итоге?

Цитата:

Сообщение от Deff (Сообщение 179625)
melky,
:blink: Ие 7 аш аура у зеленинького

это не аура, это размытие :lol:

devote 07.06.2012 00:31

Цитата:

Сообщение от melky
и зачем нужна эта строчка :

а некая проверка, может там вставлять просто не перед чем, то-есть я же вставляю элемент после <div id="below"></div> и мне нужно поставить именно после него, если поставлю перед ним, ничего не сработает, то-есть мы не увидим нифига нужного нам эффекта. А так там просто проверка, если есть после элемента <div id="below"></div> что-то то перед этим и ставим, если нет, то просто аппендим к родителю.
Цитата:

Сообщение от melky
немного поигрался... но не понял, почему пропадает зеленый блок (т.е. скрывается за копией красного)

Ну это потому что я ставлю новый элемент после <div id="below"></div> а не перед.
Цитата:

Сообщение от melky
... и почему нельзя вынести свойства в таблицу стилей это меня удивило больше всего

не совсем понял о чем тут речь?

Deff 07.06.2012 00:31

Цитата:

Сообщение от Nanto
В браузере Firefox до версии 2.0

Чот я за последние два три года не видел Firefox до версии 2.0 , в день до 100 пользователей обращается

Nanto 07.06.2012 00:33

Цитата:

Сообщение от Deff (Сообщение 179607)
Везде тормозит -во всех браузах - делал галлерею на shadow -box - захотелось обвести бордеры фоток тенью, дык если тень более 6 пиксел на 5-8 фотках - то воспроизведение этих бордюров на секунды тормозит страницу

Правильно Вам заметили - на рендеринг box-shadow ЛЮБОЙ браузер отъест столько ресурсов... Я делал как-то галерею с тремя холстами, сдублированием через canvas, и с реакцией на движение мыши - везде замечательно работает (ну кроме динозавров IE - хотя там canvas и не срабатывает, но в целом не тупит). Но стоит ввести box-shadow - даже хвалёный Хром безбожно тормозит! Выход - только через прозрачный png (ну или svg).

Nanto 07.06.2012 00:36

melky,
Честно? Ни фига не понял!
Если работаете не с "блоками" а со "слоями" (элементами, которые перекрываются друг другом) - не логичнее их самому упорядочить по желаемому порядку? Браузер не может читать мысли!
Скриптом? Не проблема - только закономерность сформулируйте! И я думаю после этого ВЫ сами сможет присвоить через js подходящий я-index.

melky 07.06.2012 00:42

Цитата:

Сообщение от devote
не совсем понял о чем тут речь?

хм. наверное, я криво повыносил стили для "копии" (из expression) в класс.
Цитата:

Сообщение от Nanto
Честно? Ни фига не понял!

Если сунуть тень рядом с элементом, или "вверх" (в body, например), то придётся запоминать, какая тень для текущего элемента где находится. Мне показалось наиболее лёгких решением вложить в элемент слой тени, и размыть её\добавить Alpha.

Тем более, что по моей задумке, когда мы скрываем элемент, или двигаем, тень движется с ним, а не тянется рядом (с помощью step).

Короче, я попытался таким образом упростить.

Сначала я задумывался об использовании VML, но вскоре это решение откинул из-за бесконечного пропадания нижней-правой части фигуры в IE8 (я знаю, что это лечится относительным позиционированием.. но при экспериментах эта сволочь всё равно багалась), но потом это решение забросил ещё и почему-то. Я сейчас не помню, почему именно :)

devote 07.06.2012 00:44

Nanto,
суть данного решения который пытается решить melky, заключается в том, что он удобен тем что можно легко удалить блок вместе с его тенями и прочей хренью из DOM дерева, то-есть удалив элемент #above он за собой потянет и все то что с ним связано. И это очень удобно, нежели пихать таким образом:
<div id="above">
    Hello World
  </div>
  <div id="below"></div>
где придется удалять и тень и элемент отдельно.

Deff 07.06.2012 00:47

melky,
мну с тенями скок не бодался приходится делать opacity и gif (или, что тож самое - png 8-ричный) - ежели кроссбраузерно
Остальное всё: либо сугубо индивидуально и плохо воспроизводимо на иных проектах

melky 07.06.2012 00:48

Цитата:

Сообщение от devote (Сообщение 179639)
Nanto,
суть данного решения который пытается решить melky, заключается в том, что он удобен тем что можно легко удалить блок вместе с его тенями и прочей хренью и DOM дерева, то-есть удалив элемент #above он за собой потянет и все то что с ним связано. И это очень удобно, нежели пихать таким образом:
<div id="above">
    Hello World
  </div>
  <div id="below"></div>
где придется удалять и тень и элемент отдельно.

вот вот. хотя, может быть было бы проще сделать box-shadow через VML.


Цитата:

Сообщение от Deff
melky,
мну с тенями скок не бодался приходится делать opacity и gif (или, что тож самое - png 8-ричный) ежели кроссбраузерно

этот способ (который пытается родиться уже 4 страницы) учитывает прозрачность тени ;) достаточно добавить к ней фильтр Alpha, и можно использовать rgba в качестве цвета.

C другой стороны, как при таком раскладе рендерить inset box-shadow...

Deff 07.06.2012 00:54

Цитата:

Сообщение от melky
суть данного решения который пытается решить melky, заключается в том, что он удобен тем что можно легко удалить блок вместе с его тенями и прочей хренью и DOM дерева, то-есть удалив элемент #above он за собой потянет и все то что с ним связано. И это очень удобно, нежели пихать таким образом:

не проще ли обернуть всю трихомудь еще одним div(oм) и удалять её не мучая себя, и независимо от взаимного расположения внутренностей ?

Aetae 07.06.2012 00:58

Честно говоря не вижу причины не сделать так и не парить мозги:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
  <title>:)</title>
<style>
  #above, #below {
    width: 300px;
    height: 300px;
  }
   
  #above {
    position: relative;
     
    top: 10px;
    left: 15px;
     
  }
  #below {
    background-color: green;
    position: absolute;
     
    top: 20px;
    left: 20px;
       
   }
  #content{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width:100%;
    background-color: red;
     
  }
</style>
</head>
<body>
  <div id="above">
    <div id="below"></div>
    <div id="content">Hello World</div>
  </div>
</body>
</html>

devote 07.06.2012 01:00

ну вот ради теста решил добавить тень, вроде идентично получилось:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
  <title>:)</title>
<style>
  * { margin:0; padding:0; }
  
  #above, #below {
    width: 300px;
    height: 300px;
  }
  
  #above {
    background-color: red;
    position: relative;
    
    top: 10px;
    left: 15px;
  }

  #below {
    background-color: black;
    position: absolute;
    
    top: 0px;
    left: 0px;
    
    z-index: -1;

    box-shadow: 5px 5px 8px rgba( 0, 0, 0, 0.6 );
    
    /*IE7*/
    filter: Alpha(opacity=60) progid:DXImageTransform.Microsoft.Blur(pixelRadius=4);
    /*IE8*/
    -ms-filter: Alpha(opacity=60) progid:DXImageTransform.Microsoft.Blur(pixelRadius=4);

    /* весь этот говнокод ради ИЕ7 */
    govnokod: expression(
		this.elAppended?(
			this.elAppended.style.backgroundImage=this.parentNode.currentStyle.backgroundImage,
			this.elAppended.style.backgroundColor=this.parentNode.currentStyle.backgroundColor
		):(
			this.elAppended=document.createElement('div'),
			this.nextSibling?this.parentNode.insertBefore(this.elAppended,this.nextSibling):
			this.parentNode.appendChild(this.elAppended),
			this.elAppended.style.position='absolute',
			this.elAppended.style.width='100%',
			this.elAppended.style.height='100%',
			this.elAppended.style.backgroundImage=this.parentNode.currentStyle.backgroundImage,
			this.elAppended.style.backgroundColor=this.parentNode.currentStyle.backgroundColor,
			this.elAppended.style.left=0,
			this.elAppended.style.top=0,
			this.elAppended.style.zIndex=-1
		)
	);
  }
</style>
</head>
<body>
  <div id="above">
    Hello World
    <div id="below"></div>
  </div>
</body>
</html>
Идеальное на мой взгляд решение. Спасибо melky, за решение, сам буду пользоваться им.

Nanto 07.06.2012 02:07

Оффтоп...
Но мрак какой-то! Мы вдвоём, я - верстальщик, и второй js-программист-верстальщик, сумели через нашего очень вменяемого начальник протащить решение о том что наша (очень серъёзная) компания больше не поддерживает IE6-7, мы раньше пытались смотреть чтобы хотя бы структура не ломалась в старых ослах (и плевать на плюшки) - а теперь официально забили (даже тестировщики не проверяют)! Пусть хоть всё там "едет" - мы делаем рекламу для Майкрософта для IE9 - даже "родители" официально открещиваются от своего детища - но у нас есть всплывашка "Ваш браузер устарел"...
Одна беда - надо IE8 поддерживать (ради тупоголовых пользователей XP) - это даже не 7-ой, но все равно...
Хотя даже менеджеры мирятся с тем что border-radius реализуется "только картинками и поэтому ну его нафиг!"
А ведь это "коммерция", и уж они-то как никто лоюбят считать пользователей...
Раньше я тоже страдал перфекционизмом, и вылизывал даже для IE6 (хотя бы ради своего эго), но потом пошли крупные проекты косяком, времени стало не хватать - и я забил на IE6-7 (сторонние проекты вообще смотрю только в файербаге) - и никто пока не возмущался...

Может и Вам стоит задуматься? Тем более, судя по всему, Вы не так хорошо в вёрстке разбираетесь - а поддержка IE6 требует такого же количества энциклопедических знаний вёрстки для IE6, как и весь CSS3 (всякие там "3px gap", "!important", "min-height" etc...)...
Добрый совет - не захламляйте себе голову - год-два и кол-во пользователей IE6-7 станет 0,1% - а своего личного времени Вы впустую убъёте...
Начните уж тогда и Amaya поддерживать - а чё? Самый правильный браузер!

devote 07.06.2012 03:08

Цитата:

Сообщение от Nanto
Тем более, судя по всему, Вы не так хорошо в вёрстке разбираетесь

Что меня убивает больше всего, дык это то что каждый наровит показать какой он профи, высказав всем что, все неучи один он опытный.

Люди если вы пытаетесь каждый раз говорить подобные фразы, то это лишь лишний раз доказывает обратное. Человек с опытом, никогда подобного не скажет.

А что насчет поддержки ИЕ, это уж мы как нибудь сами решим отказаться от него или нет. И лишний раз говорить об этом нет смысла, может вам легче становится от того что вы в каждой теме об этом напоминаете, или просто пытаетесь получить кайф от того что выговорились. Об этом всем давно известно, какой смысл сотню раз пережевывать одно и тоже. И хвать делать из себя умных. Умнее вы для нас не станете все равно, ибо в инете все равны. И тут нет глупых и умных.

Seva1986 07.06.2012 03:11

Nanto,

Вот тут я с тобой на 200% согласен!

В жопу отстой весь, всякие 6-7, у меня на работе так, ниже 8 заглушка с текстом типа обновите браузер если не хочешь можешь отключить и попадёшь на разваленный сайт. 8 главное чтоб макет не развалился и можно было хоть както пользоваться сатом, 9 должен быть нормальный на 95% всякие анимации cssные в нём не будут работать и градиенты не особо парюсь. остальные браузеры исключительно последние версии.

Seva1986 07.06.2012 03:18

Я вообще сейчас подумываю начать грид, флекс бокс и т.д. юзать попробовать, а для 9 и ниже скриптом эмулировать вроде есть уж готовые решения.

Nanto 07.06.2012 03:43

devote,
Холиварить будем? Таблицы любите? Расскажите-ка мне об особенностях поведения таблиц ("ведь это так кроссбраузерно") в разных браузерах при переполнении ячейки контентом... Где ячейка раздвинется (не смотря на заданную ширину), а где обрежет, а где перенсёт на следующую строку...
Оптимально всё это прокуривать? Тогда джедайствуйте, только потом не просите пощады... ;)

Nanto 07.06.2012 03:53

Seva1986,
Так есть. Только насчёт 9 не согласен - да с transition, animation проблемы, но с этим и так рановато спешить!
Градиенты в 9 работают, только border-radius при этом не срабатывает, поэтому ему надо "скармливать" base64 -
я вот пользуюсь кроссбраузерным генератором - ни разу не подводил:
http://www.colorzilla.com/gradient-editor/

А со скриптами - больше возни получится!..
Ну это вообще стиль... Как кто кодит... Я пишу основную вёрстку под "тройку браузеров" (с плюшками CSS3), то что можно, прописываю отдельно для IE9, смотрю чтобы не разваливалось в 8-ом... И всё!

P.S. Это слава богу что Microsoft в своё время продавил в консорциуме условные комментарии - кому так охота поддерживать старых ослов - можете писать для них отдельную вёрстку! Слабо?


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