2015-05-05 4 views
-1

Привет всем У меня есть простое меню, но я не знаю, как сделать ссылку на всю площадь. Теперь работает только на ссылку.html и css3 ссылка меню не работает нормально

<ul><li><a href="#">Menu 1</a></li> 
    <li><a href="#">Menu 2</a></li> 
    <li> 
    <a href="#">Menu 3</a> 
    <ul> 
     <li><a href="#">Menu 4</a></li> 
     <li><a href="#">Menu 5</a></li> 
     <li><a href="#">Menu 6</a></li> 
    </ul> 
    </li> 
</ul> 

CSS:

ul { 
    text-align: left; 
    display: inline; 
    margin: 0; 
    padding: 15px 4px 17px 0; 
    list-style: none; 
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.15); 
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.15); 
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15); 
} 
ul li { 
    font: bold 12px/18px sans-serif; 
    display: inline-block; 
    margin-right: -4px; 
    position: relative; 
    padding: 15px 20px; 
    background: #fff; 
    cursor: pointer; 
    -webkit-transition: all 0.2s; 
    -moz-transition: all 0.2s; 
    -ms-transition: all 0.2s; 
    -o-transition: all 0.2s; 
    transition: all 0.2s; 
} 
ul li:hover { 
    background: #555; 
    color: #fff; 
} 
ul li ul { 
    padding: 0; 
    position: absolute; 
    top: 48px; 
    left: 0; 
    width: 150px; 
    -webkit-box-shadow: none; 
    -moz-box-shadow: none; 
    box-shadow: none; 
    display: none; 
    opacity: 0; 
    visibility: hidden; 
    -webkit-transiton: opacity 0.2s; 
    -moz-transition: opacity 0.2s; 
    -ms-transition: opacity 0.2s; 
    -o-transition: opacity 0.2s; 
    -transition: opacity 0.2s; 
} 
ul li ul li { 
    background: #555; 
    display: block; 
    color: #fff; 
    text-shadow: 0 -1px 0 #000; 
} 
ul li ul li:hover { background: #666; } 
ul li:hover ul { 
    display: block; 
    opacity: 1; 
    visibility: visible; 
} 

JSFiddle Demo

+0

макияжа звена в целом Sqaure? Вы хотите, чтобы меню отображалось по всему экрану? – BIW

+0

Если я нажимаю на серый палец везде, где они открывают ссылку – wampir

ответ

0

Он будет открыть ссылку, когда элемент получает щелчок. Вы хотите, чтобы он открыл ссылку при нажатии на серое окно.

Поэтому вы должны сделать размер того же размера, что и серый квадрат. И, как указывали другие, вам придется удалить прокладку из li и дать ее вместо (или указать ее высоту и ширину).

3

Удалите прокладку из li и добавьте ее вместо a. Также установите a для отображения: block.

1

Перемещайте отступы от <li> к <a> и установить якорь для display: block;

/* add this selector */ 
li > a { 
    padding: 15px 20px; 
    display: block; 
} 

Вашего обновленного jsFiddle: https://jsfiddle.net/q5y1sg9v/1/

Смежные вопросы