Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 是使用a<;br/>;标记a<;标签>;及其<;输入>;良好做法?_Html_Css_Forms_Semantics - Fatal编程技术网

Html 是使用a<;br/>;标记a<;标签>;及其<;输入>;良好做法?

Html 是使用a<;br/>;标记a<;标签>;及其<;输入>;良好做法?,html,css,forms,semantics,Html,Css,Forms,Semantics,表单中的字段有一个标签、一些帮助文本、一些示例文本和一些上下文文本 <!--With Help and Example--> <li> <label for="ingredients">Ingredients</label> <br/><!--Is this good practice?--> <span class="help">Enter one ingredient per line

表单中的字段有一个标签、一些帮助文本、一些示例文本和一些上下文文本

<!--With Help and Example-->
<li>
    <label for="ingredients">Ingredients</label>
    <br/><!--Is this good practice?-->
    <span class="help">Enter one ingredient per line.</span>
    <br/>
    <textarea id="ingredients" name="ingredients"></textarea>
    <br/>
    <span class="example"><b>Example:</b><br/>1 Cup of Flour<br/>Pinch of Salt<br/>1 Tbsp of Paprika</span>

<!--With context-->
<li>
   <label for="yield">Yield</label>
   <br /> <!--Wish labels were block and you had to style them to be inline-->
   <input type="number" id="yield" name="yield" />
   <span class="context"> servings.</span>
</li>

  • 成分
    每行输入一种成分。

    示例:
    1杯面粉
    一撮盐
    1汤匙辣椒粉
  • 产量
    一份。
  • 当我看到它的非风格,它让我发疯如何所有这些东西一起运行在同一条线上


    我可能会在打字时想出一个解决问题的办法。我想我可以使用
    作为我的帮助和示例文本。我仍然不喜欢标签总是与输入在同一行。

    如果你的意思是“坏”如无效,根据W3验证器,不。

    允许在
    元素之间使用。

    我认为标签不需要与输入字段在同一行。
    对于一个好的用户体验来说,唯一重要的是它就在它旁边,这也可能意味着在上面。

    如果一个人真的很迂腐,那么几乎所有

    的用法都是“糟糕的HTML”<代码>
    表示语义换行符。换句话说,删除

    会改变内容的含义。这些只出现在诗歌/歌词和邮政地址中

    您可以通过使
  • 中的其他元素具有display:block样式来实现相同的结果。

    与invalid中的“Bad”相同?不 “坏”和“不守神”一样?对

    更好的方法是将
    标签
    元素包装在
    p
    元素中。毕竟,它们是段落。(此外,标签不应该是块元素,它是一个内联元素,因为它为内联文本提供了用途,就像
    em
    或HTML5
    time
    元素所做的一样-块元素所做的不止这些。使用CSS将其样式化为块元素)


    编辑:另请参见Alohci的答案,解释为什么

    在这里被错误使用。

    这本身并不坏,但您应该使用CSS进行样式设置(例如布局)。它使代码更容易阅读。例如

    CSS

    <style type="text/css">
      #myrecipies label,
      #myrecipies li:first-child span:first-child,
      #myrecipies textarea {
        display: block;
      }
    </style>
    
    
    #myrecipies标签,
    #我的回答李:第一个孩子span:第一个孩子,
    #MyRecipes文本区{
    显示:块;
    }
    
    HTML

    <ul id="myrecipies">
      <li>
        <label for="ingredients">Ingredients</label>
        <span class="help">Enter one ingredient per line.</span>
        <textarea id="ingredients" name="ingredients"></textarea>
        <span class="example"><b>Example:</b><br/>1 Cup of Flour<br/>Pinch of Salt<br/>1 Tbsp of Paprika</span>
      </li>
      <li>
       <label for="yield">Yield</label>
       <input type="number" id="yield" name="yield" />
       <span class="context"> servings.</span>
      </li>
    </ul>
    
    • 成分 每行输入一种成分。 示例:
      1杯面粉
      一撮盐
      1汤匙辣椒粉
    • 产量 一份。

    这。

    实际上,

    元素允许在
  • 元素中使用。它的兄弟姐妹完全无关。我知道这是有效的。我想我想知道的是这是否是一个好的实践。我可能想得太多了。把一个标签包装在一个段落里?这并不比换行更好。大多数表单标签不是文本的段落,因此它们不属于
    标记。一个“段落”不必超过几个单词,它只描述一段文本。不,在写作中,段落通常包含一个或多个句子(),并处理一个要点或想法。由于W3C规范指出
    标记表示文本()的一段,因此表单标签是对
    元素的不当使用。您使用的
    是绝对糟糕的HTML。这是为什么?我不想把重点放在它包含的文本上。我只是希望它在印刷/视觉上加粗。换句话说。如果我把它删掉,不把文本加粗,它仍然是完全有意义的。谢谢我想得太多了。我正计划把它们设计成块状。当我编写HTML时,我一直在浏览器中的一行上查看所有的HTML。我忍不住想打破界限。