2013-02-21 2 views
4

У меня есть структура как этотКак увеличить ширину тега привязки внутри литий шириной Li

<div class='myClass'> 
    <ul> 
      <li> 
       <a href="myfile.html">My link</a> 
      </li> 
    </ul> 
    </div> 

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

.tooltipinner ul { 
    list-style-type: none; 
    margin: 0; 
    overflow-y: auto; 
    padding: 0; 
    width: 305px; 
} 
.tooltipinner ul li { 
    background-color: #BBAEA5; 
    background-image: url("../../Images/UIFiles/Menu/SubmenuBg.jpg"); 
    background-position: left top; 
    background-repeat: repeat-x; 
    border-top: 1px solid #C1BFBD; 
    color: #FFFFFF; 
    cursor: pointer; 
    float: left; 
    font-size: 12px; 
    padding-bottom: 4px; 
    padding-left: 5px; 
    padding-top: 4px; 
    width: 199px; 
} 
.tooltipinner ul li:hover { 
    background-color: #BBAEA5; 
    background-image: url("../../Images/UIFiles/Menu/SubmenuBgHover.jpg"); 
    background-position: left bottom; 
    background-repeat: repeat-x; 
    border-top: 1px solid #C1BFBD; 
    cursor: pointer; 
    float: left; 
    padding-left: 5px; 
} 
.tooltipinner ul li a { 
    color: #000000; 
    font-size: 12px; 
    font-weight: 400; 
    text-decoration: none; 
} 
.tooltipinner ul li a:link { 
    color: #000000; 
    min-width: 200px; 
    text-decoration: none; 
} 

Я также пытался поставить div внутри a но block элемент не может быть размещен внутри a. Как это можно исправить.

Вот скрипку
http://jsfiddle.net/qry45/2/
http://jsfiddle.net/qry45/4/

+0

Обеспечить демо: http://jsbin.com –

+0

@Web_Designer Я создал скрипку, и это в вопросе –

ответ

4

I'm не уверен, но если применить width:inherit; ко всем внутренним а, она работает

li { 
    width: 400px; 
    border: 1px solid red; 
} 

li a { 
    position: relative; 
    width: inherit; 
    border: 1px solid green; 
} 
+0

Я создал скрипку http://jsfiddle.net/qry45/4/ –

+0

@krshekhar просто добавить display: block; width: inherit; к .tooltipinner ul li a: link, и вы закончили, я протестировал в firebug .. –

+0

@krshekhar и другие причины не получить всю ширину в том, что у вашего css есть padding-bottom: 4px; padding-left: 5px; padding-top: 4px; это три правила для .tooltipinner ul li, поэтому анкер будет занимать всю ширину, но с дополнением к этой третьей стороне. –

10

Что-то вроде этого в вашем CSS:

.myClass li a { 
    width: 100%; 
} 

Блочные элементы могут быть размещены внутри встроенных элементов (<a>, <span> и т.д.), если вы используя метод HTML5, и если вы установили display: block; на элемент <a>:

.myClass li a { 
    display: block; 
} 
+0

не работает Я сделал скрипку http://jsfiddle.net/qry45/4/ –

+0

@Shekhar То, что вы пытаетесь сделать, может быть сделано с гораздо меньшим количеством CSS. Вот улучшенная демонстрация: http://jsfiddle.net/qry45/6/ –

+0

Это действительно работает для меня. Отличная работа. Спасибо чувак. Сохранено мое время. – Niraj

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