2011-07-07 2 views
0

Я создаю sidenav, у которого есть некоторые основные ссылки, которые приводят к списку меньших ссылок. Несколько основных ссылок перечислены после основных ссылок. Должен ли я:Оптимизация времени загрузки в CSS для вложенных элементов списка

формат
  • HTML, как

    <ul id="whatever"> 
         <li id="child"> 
         </li> 
         <li id="descendent"> 
         </li> 
    </ul> 
    

и использовать a ul id селектор детей;

  • или формат HTML, как

    <ul> 
         <li class="major"> 
         </li> 
         <li class="minor"> 
         </li> 
    </ul> 
    

и использовать a li селектор класса;

  • или формат HTML, как

    <div class="left nav-major"> 
    <ul> 
         <li> 
         </li> 
    </div> 
    <div class="left nav-minor"> 
         <li> 
         </li> 
    </ul> 
    </div> 
    

и использовать div селекторы;

  • или сделать что-то еще?

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

+1

Я думаю, что ваш последний пример искажен. – slhck

+0

Хорошо, slhck. Но в любом случае, я также смотрю эту страницу: http://css.maxdesign.com.au/listutorial/sub_master.htm#. Они используют

, и они используют селектор потомка тега класса целевой второй гнездовой слой и селектор класса тегов, нацеленный на первый вложенный слой. Тем не менее, я читал на https://developer.mozilla.org/en/Writing_Efficient_CSS, чтобы избежать выбора дочерних селекторов, где это возможно, и всегда избегать селекторов-потомков.Таким образом, нет ли более оптимального способа, чем тот, который показан в maxdesign, для назначения вложенных элементов списка? –

+0

Я честно не знаю! Я просто упоминал, потому что вложенные теги наподобие '

    ', вероятно, * не *, что вы хотите. – slhck

    ответ

    0

    CSS не влияет на время загрузки в стороне от того, насколько велико ваш CSS-файл.

    В ваших примерах первое и второе точно совпадают с точки зрения структуры HTML.

    Третий пример недействителен.

    Если вы хотите оптимизировать время загрузки, используйте минимальное количество разметки и CSS, как вы можете.

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

    Поскольку список является обычно списком ссылок, списки представляются целесообразными:

    <ul> 
        <li>Main level link 
         <ul> 
          <li>Child level link</li> 
         </ul> 
        </li> 
    </ul> 
    

    И не были бы никакой необходимости для классов, как вы могли бы ссылаться на уровнях в вашем CSS, как:

    .navigation li {style main level links} 
    .navigation li li {style secondary level links} 
    
    +0

    CSS значительно влияет на время загрузки по размеру, DA. Вот почему в сети так много ресурсов о том, как оптимизировать ваш CSS для разных браузеров. Проверьте ссылки, которые я оставил в комментариях выше. У них есть примеры того, насколько велика разница. Это буквально более чем вторая разность, нацеленная на тот же элемент со сравнительно длинной строкой текста по-другому. –

    +0

    Первый и второй примеры имеют разные CSS, хотя html тот же. :/ –

    +0

    Я согласен с вашим CSS, хотя, по большей части. Я дам вам зеленый чек. –

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