Ошибка проверки при помещении тега <h>внутрь тега <a>(тип документа не допускает элемент "h2") - PullRequest
2 голосов
/ 26 апреля 2010

при использовании этого кода:

<div class="menu">
            <ul id="mainnav">
                <li><h2><a href="dir1/" >AAAAA</a></h2>
                    <ul>
                        <li><a href="dir1/xxx.php"><h3>xxx</h3></a></li>
                        <li><a href="dir1/xxx2.php"><h3>xxx2</h3></a></li>
                        <li><a href="dir1/hxxx3.php"><h3>hxxx3</h3></a></li>
                    </ul>
                </li>

Я получаю ошибку при проверке, говоря, что я должен поставить <h2> вне <a> тип документа не допускает элемент <h2> Когда я делаю это, проверка проходит без каких-либо проблем, но моя укладка ломается. Есть ли способ сохранить как валидацию, так и стилизацию? Это стиль для menu и <h2>

.menu  li a{
        font: 100%  Helvetica, Arial, sans-serif;
        display:inline-block;
        color: #fff;
        }
    .menu li a:hover{
        color: #014661;
        background: url('../images/menu1.png') center left no-repeat;
    }        
        .menu li a h2{
            font-size: 92%;
            padding: 8px 18px;
            font-weight: bold;
            text-transform: uppercase;
        }
                .menu h3{
            font-size: 87%;
            font-weight: bold;
            text-transform: uppercase;
        }
        .menu li a h2:hover{
            background: url('../images/menu2.png') center right no-repeat;
        }      

Ответы [ 2 ]

7 голосов
/ 22 июля 2010

Хотя утвержденный ответ может сработать, это плохая практика. Ошибка проверки является доказательством проблемы.

<a> это встроенный элемент <h2> это блочный элемент

Встроенные элементы нельзя размещать непосредственно внутри элемента body; они должны быть полностью вложены в элементы уровня блока.

Встроенные элементы никогда не должны содержать элементов уровня блока.

4 голосов
/ 26 апреля 2010

С h2 за пределами a необходимо изменить все вхождения в таблице стилей от a h2 до h2 a, чтобы порядок в таблице стилей соответствовал порядку в HTML, и стиль будет применен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...