Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 07.06.2012, 00:48
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от devote Посмотреть сообщение
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...

Последний раз редактировалось melky, 07.06.2012 в 00:52.
Ответить с цитированием
  #32 (permalink)  
Старый 07.06.2012, 00:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от melky
суть данного решения который пытается решить melky, заключается в том, что он удобен тем что можно легко удалить блок вместе с его тенями и прочей хренью и DOM дерева, то-есть удалив элемент #above он за собой потянет и все то что с ним связано. И это очень удобно, нежели пихать таким образом:
не проще ли обернуть всю трихомудь еще одним div(oм) и удалять её не мучая себя, и независимо от взаимного расположения внутренностей ?
Ответить с цитированием
  #33 (permalink)  
Старый 07.06.2012, 00:58
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

Честно говоря не вижу причины не сделать так и не парить мозги:
<!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>
__________________
29375, 35
Ответить с цитированием
  #34 (permalink)  
Старый 07.06.2012, 01:00
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну вот ради теста решил добавить тень, вроде идентично получилось:
<!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, за решение, сам буду пользоваться им.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #35 (permalink)  
Старый 07.06.2012, 02:07
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

Оффтоп...
Но мрак какой-то! Мы вдвоём, я - верстальщик, и второй 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 поддерживать - а чё? Самый правильный браузер!
Ответить с цитированием
  #36 (permalink)  
Старый 07.06.2012, 03:08
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

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

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

А что насчет поддержки ИЕ, это уж мы как нибудь сами решим отказаться от него или нет. И лишний раз говорить об этом нет смысла, может вам легче становится от того что вы в каждой теме об этом напоминаете, или просто пытаетесь получить кайф от того что выговорились. Об этом всем давно известно, какой смысл сотню раз пережевывать одно и тоже. И хвать делать из себя умных. Умнее вы для нас не станете все равно, ибо в инете все равны. И тут нет глупых и умных.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #37 (permalink)  
Старый 07.06.2012, 03:11
Профессор
Отправить личное сообщение для Seva1986 Посмотреть профиль Найти все сообщения от Seva1986
 
Регистрация: 01.10.2011
Сообщений: 422

Nanto,

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

В жопу отстой весь, всякие 6-7, у меня на работе так, ниже 8 заглушка с текстом типа обновите браузер если не хочешь можешь отключить и попадёшь на разваленный сайт. 8 главное чтоб макет не развалился и можно было хоть както пользоваться сатом, 9 должен быть нормальный на 95% всякие анимации cssные в нём не будут работать и градиенты не особо парюсь. остальные браузеры исключительно последние версии.
Ответить с цитированием
  #38 (permalink)  
Старый 07.06.2012, 03:18
Профессор
Отправить личное сообщение для Seva1986 Посмотреть профиль Найти все сообщения от Seva1986
 
Регистрация: 01.10.2011
Сообщений: 422

Я вообще сейчас подумываю начать грид, флекс бокс и т.д. юзать попробовать, а для 9 и ниже скриптом эмулировать вроде есть уж готовые решения.
Ответить с цитированием
  #39 (permalink)  
Старый 07.06.2012, 03:43
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

devote,
Холиварить будем? Таблицы любите? Расскажите-ка мне об особенностях поведения таблиц ("ведь это так кроссбраузерно") в разных браузерах при переполнении ячейки контентом... Где ячейка раздвинется (не смотря на заданную ширину), а где обрежет, а где перенсёт на следующую строку...
Оптимально всё это прокуривать? Тогда джедайствуйте, только потом не просите пощады...
Ответить с цитированием
  #40 (permalink)  
Старый 07.06.2012, 03:53
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

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

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

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

Последний раз редактировалось Nanto, 07.06.2012 в 03:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация Set и Map FINoM Ваши сайты и скрипты 5 22.02.2012 03:12
Помогите сверстать . Проблема с margin auto и z index 0931454574 (X)HTML/CSS 10 12.08.2011 20:32
Чем занимаются JS-программеры. JSTalker Оффтопик 69 02.02.2011 10:18