【问题标题】:css fieldset bordersCSS 字段集边框
【发布时间】:2023-03-11 18:38:02
【问题描述】:

您好,我对 CSS 中的 fieldset 有疑问。

I have this example

在这个例子中你可以看到左边的边框

margin-left: 0px;

与深色框架恰好在一条线/高度上齐平。右手边你可以看到fr这个类有

margin-right: 0px;

但它不与框架边框齐平。我曾尝试用谷歌搜索它,但我找不到任何关于它的东西。这种现象是正常的还是我做错了什么?有一些特定的边界吗?

更新

您好,感谢您回答这个问题。我尝试将该代码直接实现到我的编辑器(dreamweaver cs6)中,并认为它曾经与 jsfiddle 上的样式相同。错误的。编辑器似乎有问题,因为结果我会得到这个:

看起来左侧有自动添加的标签。那么有没有人知道这个问题?非常感谢。

更新 2:

我不得不重置 css 默认设置。

【问题讨论】:

    标签: html css styles border


    【解决方案1】:

    您似乎想将一些输入字段(也许是表单?)放入列中,但似乎不知道最好的方法?

    实际上,我现在正在处理一个表单——当我想在一个 div 中包含两列时,我就是这样做的。

     <form>
       <fieldset>
        <legend>The form to fill out</legend>
          <p> Any instructions for the form. Fields marked with <span class="red">Red</span> are required.</p>
    
         <div class="columnA">
           <label for="fname">Label 1</label>
           <input type="text" name="fname" tabindex="1" />
         </div>
    
         <div class="columnB">
           <label for="address1">Address:</label>
           <input type="text" name="address1" tabindex="10" />
         </div>
    
         <div class="fullwidth">
           <input type="submit" value="Register"/>
         </div>
       </fieldset>
     </form>
    

    然后,确保在您的 CSS 中为上述每个类设置(最少)这些内容:

    边距 填充 宽度

    (建议:我实际上在我的每一段 CSS 中都先设置了这些——如果我有自己的 CSS 元素顺序,它会给我一个结构。我不是说使用我的,而是采用你自己的——这样可以节省时间当您进行故障排除时)

    请记住,如果您想要父元素(无论 div 包含表单),所有子元素也必须浮动。

    现在,您可能会考虑将 columnA 向左浮动,将 columnB 浮动在右侧,一旦添加边距和填充,两者的宽度都设置为 50%。但是,我发现除非我的内容需要那么多空间,否则您实际上可以将两者都浮动到左侧,并且您会更好地了解整个表单。

    【讨论】:

      【解决方案2】:

      我想说主要是您将标签设置为 80 像素宽,而您的输入设置为 180 像素宽。

      可能需要它们的大小相同。我还会检查你的数学,以确保一切正确。

      【讨论】:

      • 我检查了它,应该有足够的空间。字段集的宽度为 440 像素。减去 180px 输入宽度的两倍意味着 360px 会产生 80px 的空间。减去 10px padding-left 将是 70px。所以我更新了我的问题,似乎编辑器可能有问题。谢谢。
      【解决方案3】:

      是 box-sizing:border-box;是一个很好的解决方案,但只需将输入框的大小减小 7 像素{5px 用于左侧填充,2px 用于左右边框的边框},因此现在输入框的最终宽度为 173px

      【讨论】:

      • 是的,您应该使用 reset css 来重置 html 标签的所有默认属性(如 input、fieldset )。
      【解决方案4】:

      改用它,box-sizing:border-box 会导致从输入元素内部而不是外部使用填充。

      #left #frame form fieldset ul input {
      position:relative
      color: #444444;
      font-size: 10px;
      width: 180px;
      height: 18px;
      padding-left: 5px;
      outline:none;
      box-sizing:border-box;
      -moz-box-sizing:border-box;
      -webkit-box-sizing:border-box;
      -o-box-sizing:border-box
      }
      

      【讨论】:

        【解决方案5】:

        box-sizing: border-box 添加到输入。 (相关厂商也加-moz-box-sizing-webkit-box-sizing

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-05
          • 2017-07-13
          • 1970-01-01
          • 2011-02-03
          • 1970-01-01
          • 1970-01-01
          • 2018-02-24
          • 1970-01-01
          相关资源
          最近更新 更多