Меню на 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> |
Можно так, но оно не будет работать в 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> |
для IE7-8 можно добавить класс к последнему диваку и повесить на него правило в CSS, либо все это сверстать немного иначе.
|
Мерси большое, разобрался.)
|
Часовой пояс GMT +3, время: 11:19. |