2010-10-06 3 views
8

я создаю элемент на моей странице, как так:Элементов к «выглядеть» в список точек пули внутри ссылки якорной

<a href=""> 
<span class="benefits"> 
Free entry<br /> 
20% off in store<br /> 
First to know about latest courses 
</span> 
</a> 

клиент хочет всю область кликабельный и перечень льгот для отображения с пулевыми точками.

Насколько я знаю, списки не могут быть помещены в теги привязки?

Я надеялся, что смогу вставить тег перед рукой, чтобы я мог прикрепить правила типа стиля CSS, но это не сработало. Я попытался сделать этот элемент фиксированной шириной и высотой с фоновым цветом, однако он не отображался правильно в IE6, который я должен поддерживать.

Любые идеи?

ответ

23

Попробуйте использовать объект &bull; HTML символ, который выглядит следующим образом: •

<a href=""> 
<span class="benefits"> 
&bull; Free entry<br /> 
&bull; 20% off in store<br /> 
&bull; First to know about latest courses 
</span> 
</a> 

больше сущности характера здесь: http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

+0

Я думаю, что это, вероятно, так, как я должен это сделать ... Спасибо –

+0

Очень полезный ответ! Спасибо, чувак! – Suresh

+0

Спасибо, тонна человек. Мне было нужно это в почтовом отправителе, так как ul tag не работает, безусловно, лучшее, что я могу сделать. – Niraj

0

Комплект дисплея: блок для элемента A (якорь). Затем поместите в него список UL.

+1

Хотя это не пройдет проверку. –

+0

@Ant - XHTML может вас ненавидеть, но это нормально в HTML5. – Spudley

+0

@Spudley, к сожалению, целевая аудитория, которую я должен кодировать (браузеры IE6 - последние, FF, SF, CH и т. Д.), Я не мог уйти с этим ... –

0

Почему бы не просто сделать неупорядоченный список с тем же якорем внутри каждого элемента списка? Затем вы можете легко добавлять настраиваемые маркеры внутри каждого тега привязки, чтобы маркеры были доступны для кликов, и вы можете использовать отступы вместо полей, чтобы помещать якоря, чтобы они все касались друг друга.

+0

. Проблема в том, что блок будет иметь цветной фон, который при наведении изменится. Если бы я следил за этим методом, я бы не смог изменить фон всего элемента. –

0

Насколько я знаю, списки не могут быть помещены внутри тегов привязки?

Вы правы в этом, и даже если браузеру может быть все равно, это недействительный HTML.

Мое предложение было бы использовать DIV и сделать его интерактивным с помощью JavaScript. Вы все равно можете добавить нормальную ссылку внутри DIV для целей доступности. Таким образом, вы сохраняете всю семантику разметки (есть ссылка <a> и список <ul>), и все же получите конечный результат, который вы хотели.

HTML:

<div id="box1" class="box"> 
    <a href="link"> ... </a> 
    <ul> ... </ul> 
</div> 

CSS:

.box { 
    width: /* something */; 
    height: /* something */; 
    cursor: pointer; 
} 

JavaScript:

document.getElementById('box1').onclick = function() { 
    window.location = 'link'; 
} 
+0

Я действительно не хотел использовать javascript для чего-то такого простого. –

+0

К сожалению, нет простого «действительного» способа сделать блок доступным для кликов. – casablanca

+0

Для тех, кто читает этот ответ: [Теперь вполне допустимо обертывать элементы уровня блока с помощью якорных тегов.] (Http://html5doctor.com/block-level-links-in-html-5/) –

0

Вы можете обернуть различные линии я п охватывает ж/класс, а затем использовать CSS, чтобы добавить украшения на

  1. Добавления в некоторых левых прокладках и креплении фонового изображения.

  2. Попробуйте использовать: до псевдо класса и используя содержимое CSS для добавления в пулю.

  3. Я не могу вспомнить, если это работает, но вы также можете попробовать установить дисплей диапазона = элемент списка и список стиль типа = диск

0

Может быть что-то вроде этого могут помочь:

a.error::before{  
 
    background-color: #be1c1c; 
 
    border-radius: 1em; 
 
    content: " "; 
 
    display: inline-block; 
 
    height: 0.35em; 
 
    margin-right: 6px; 
 
    width: 0.35em; 
 
} 
 
a.error{ 
 
    color:#be1c1c; 
 
    text-decoration:none; 
 
    display:block; 
 
} 
 
ul { 
 
    padding:1em; 
 
    display: block; 
 
    list-style-type: disc; 
 
} 
 
ul li{ 
 
    color:#be1c1c; 
 
}
My links: 
 
<a class="error" href="#"> item 1</a> 
 
<a class="error" href="#"> item 2</a> 
 
<a class="error" href="#"> item 3</a> 
 
<br> 
 
My list: 
 
<ul> 
 
    <li> item 1</li> 
 
    <li> item 2</li> 
 
    <li> item 3</li> 
 
</ul>

Надеется, что это поможет!

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