Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2012, 06:47
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

Меню на div ах - CSS
Есть div, в нем другие div'ы. Они должны увеличиваться при наведении на них курсора(:hover). При этом происходит естественное смещение остальных элементов из-за margin. Как сделать, так, чтобы этого не происходило, если таковое возможно?
Вот, код для наглядности:

<!DOCTYPE html>
<html>
 <head>
  <title>Title</title>
    <style type="text/css">

div
{
	background: #fff;
	color: black;
	border: 1px solid black;
	margin: 20px;

}

.main
{
    position: absolute;
	left: 30%;
	right: 30%;
	top: 30%;
	border: 0px solid black;
}
	
.vintage
{
	border: 1px solid black;
	/*margin: 10px;*/
	/*padding: 10px;*/
}

.vintage > div:hover { 
    background: #000;
    color: white; /* Цвет ссылок при наведении на них курсора мыши */
	border: 10px solid black;
	margin: 0px;
	}   


  </style>
 </head>
 <body>
   <div class = "main">
	   <div class = "vintage">
		 <div>One</div>
		 <div>Two</div>
		 <div>Three</div>
		 <div>Four</div>
		 <div>Five</div>
	   </div>
   </div>   
 </body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 24.06.2012, 07:28
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Можно так, но оно не будет работать в IE7-8 так как там нет поддержки псевдо-класса last-child
<!DOCTYPE html>
<html>
 <head>
  <title>Title</title>
    <style type="text/css">
div
{
    background: #fff;
    color: black;
    border: 1px solid black;
    margin: 20px; 
}
 
.main
{
    position: absolute;
    left: 30%;
    right: 30%;
    top: 10%;
    border: 0px solid black;
}
     
.vintage
{
    border: 1px solid black;
    /*margin: 10px;*/
    /*padding: 10px;*/
}
 
.vintage > div:hover { 
    background: #000;
    color: white; /* Цвет ссылок при наведении на них курсора мыши */
    border: 10px solid black;
    margin: -9px 0;
}   
.vintage > div:first-child:hover {
    margin-top: 11px;
}
.vintage > div:last-child:hover {
    margin-bottom: 11px;
}
 
 
  </style>
 </head>
 <body>
   <div class = "main">
       <div class = "vintage">
         <div>One</div>
         <div>Two</div>
         <div>Three</div>
         <div>Four</div>
         <div>Five</div>
       </div>
   </div>   
 </body>
</html>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2012, 07:29
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

для IE7-8 можно добавить класс к последнему диваку и повесить на него правило в CSS, либо все это сверстать немного иначе.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2012, 08:33
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

Мерси большое, разобрался.)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CSS меню => скрыть при нажатии Shasoft Элементы интерфейса 1 15.05.2012 20:01
CSS Меню и JavaScript Babyaka Элементы интерфейса 0 29.03.2012 04:17
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58
Подскажите как сделать меню на CSS если: greatilya (X)HTML/CSS 10 18.10.2009 20:26