¿Podemos usar alguna otra ETIQUETA dentro?


¿Podemos usar cualquier otra ETIQUETA en <ul> junto con <li>?

Como

<ul>
Some text here or <p>Some text here<p> etc
<li>item 1</li>
Some text here or <p>Some text here<p> etc
<li>item 1</li>
</ul>
Author: Jitendra Vyas, 2010-01-29

9 answers

Para que su código sea válido, no puede poner ninguna etiqueta dentro de un <ul> que no sea un <li>.

Sin embargo, puede poner cualquier elemento de nivel de bloque dentro de <li>, así:

<ul>
        <li>
            <h2>...</h2>
            <p>...</p>
            <p>...</p>
        </li>
</ul>
 44
Author: Jonny Haynes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-21 14:44:07

De acuerdo con la Recomendación del W3C , la estructura básica de una lista debe ser:

<UL>
   <LI> ... first list item...
   <LI> ... second list item...
   ...
</UL>

Puedes poner etiquetas p solo dentro de etiquetas li, no como hijos directos de ul. La Recomendación del W3C dice expresamente:

Las listas se componen de secuencias de elementos de lista definidos por el elemento LI

 10
Author: ЯegDwight,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 10:49:41

Si bien podría tener otras etiquetas dentro (y podría funcionar bien), no debería porque no es compatible con w3c. También tiene muy poco sentido semántico.

Simplemente crea una página simple y ejecútala a través del validador ( http://validator.w3.org / ) y lo verás por ti mismo:)

 5
Author: marcgg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 10:51:32

No, esto sería marcado inválido. Sin embargo, si está tratando de lograr una apariencia diferente para algunas de las líneas, puede hacerlo agregando un nombre de clase específico a cualquier etiqueta li en su lugar. Véase a continuación:

<ul>
    <li class="foobar">Label</li>
    <li>Some text here</li>
    <li>Some text here</li>
    <li class="foobar">Label</li>
    <li>Some text here</li>
    <li>Some text here</li>
</ul>
 2
Author: drdiv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-11 16:53:08

Puede usar la etiqueta de plantilla y es totalmente legal. Por ejemplo:

<ul>
**<template>**Some text here or <p>Some text here<p> etc**</template>**
<li>item 1</li>
**<template>**Some text here or <p>Some text here<p> etc**</template>**
<li>item 1</li>
</ul>
 2
Author: Umair Hamid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-24 07:30:57

No. Si es lista, tiene elementos de lista en ella. No puedo ver ningún uso para la lista con elementos que no son de lista; no es lista...

 0
Author: Y. Shoham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 10:45:22

Usted puedeescribir dicho marcado, pero usted no debe ya que no es compatible y puede obtener resultados extraños e inesperados en diferentes navegadores.

 0
Author: gingerbreadboy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 11:16:04

Si está haciendo esto para darle estilo a una parte del elemento list, podría hacerlo

<ul>
  <li>normal text <span>bold text</span></li>
  <li>normal text <span>bold text</span></li>
</ul>

Y luego usar el CSS

ul li {font-size: 12px; font-weight: normal;}
ul li span {font-size: 12px; font-weight: bold;}

Espero que esto ayude

 0
Author: pixeltocode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 13:43:55

Knockout.respuesta específica de js, puede usar la siguiente sintaxis de comentario.

<ul>
    <li class="header">Header item</li>
    <!-- ko foreach: myItems -->
        <li>Item <span data-bind="text: $data"></span></li>
    <!-- /ko -->
</ul>

<script type="text/javascript">
    ko.applyBindings({
        myItems: [ 'A', 'B', 'C' ]
    });
</script>
 0
Author: jps,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-12 20:37:32