Какой тег CSS создает такую ​​коробку с заголовком? - PullRequest
37 голосов
/ 22 сентября 2008

Я хочу создать такую ​​коробку с заголовком:

CSS box with title

Может ли кто-нибудь сообщить мне, есть ли для этого тег CSS по умолчанию? Или мне нужно создать свой собственный стиль?

Ответы [ 7 ]

53 голосов
/ 22 сентября 2008

Полагаю, вы ищете HTML-тег fieldset, который затем можно стилизовать с помощью CSS. Например.,

<fieldset style="border: 1px black solid">

<legend style="border: 1px black solid;margin-left: 1em; padding: 0.2em 0.8em ">title</legend>

Text within the box <br />
Etc
</fieldset>
9 голосов
/ 30 мая 2010

Если вы не используете его в формах и вместо этого хотите использовать его в нередактируемой форме, вы можете сделать это с помощью следующего кода -

<div class="title_box" id="bill_to">
    <div id="title">Bill To</div>
    <div id="content">
        Stuff goes here.<br>
        For example, a bill-to address
    </div>
</div>

А в файле CSS

.title_box { 
    border: #3c5a86 1px dotted; 
}

.title_box #title { 
    position: relative; 
    top : -0.5em;
    margin-left: 1em;
    display: inline; 
    background-color: white; 
}

.title_box #content {
}
5 голосов
/ 22 сентября 2008

от http://www.pixy.cz/blogg/clanky/css-fieldsetandlabels.html

<form>
  <fieldset>
  <legend>Subscription info</legend>
    <label for="name">Username:</label>
    <input type="text" name="name" id="name" />
    <br />
    <label for="mail">E-mail:</label>
    <input type="text" name="mail" id="mail" />
    <br />
    <label for="address">Address:</label>
    <input type="text" name="address" id="address" size="40" />
  </fieldset>
</form>


<style type="text/css">
fieldset { border:1px solid green }

legend {
  padding: 0.2em 0.5em;
  border:1px solid green;
  color:green;
  font-size:90%;
  text-align:right;
  }
</style>
3 голосов
/ 22 сентября 2008

Это даст вам то, что вы хотите

<head>
    <title></title>
    <style type="text/css">
        legend {border:solid 1px;}
    </style>
</head>
<body>
    <fieldset>
        <legend>Test</legend>
        <br /><br />
    </fieldset>
</body>
2 голосов
/ 22 сентября 2008

Насколько я знаю (поправьте меня, если я ошибаюсь!), Нет.

Я бы порекомендовал вам использовать div с отрицательным полем-h1 внутри. В зависимости от семантической структуры вашего документа, вы также можете использовать набор полей (HTML) с одной легендой (HTML) внутри, которая приблизительно выглядит по умолчанию.

1 голос
/ 10 марта 2017

Думаю, этот пример тоже может кому-нибудь пригодиться:

.fldset-class {
    border: 1px solid #0099dd;
    margin: 3pt;
    border-top: 15px solid #0099dd
}

.legend-class {
    color: #0099dd;
}
<fieldset class="fldset-class">
    <legend class="legend-class">Your Personal Information</legend>

    <table>
        <tr>
            <td><label>Name</label></td>
            <td><input type='text' name='name'></td>
        </tr>
        <tr>
            <td><label>Address</label></td>
            <td><input type='text' name='Address'></td>
        </tr>
        <tr>
            <td><label>City</label></td>
            <td><input type='text' name='City'></td>
        </tr>
    </table>
</fieldset>
0 голосов
/ 28 августа 2015

Вы можете попробовать это.

<fieldset class="fldset-class">
    <legend class="legend-class">Your Personal Information</legend>

    <table>
        <tr>
            <td><label>Name</label></td>
            <td><input type='text' name='name'></td>
        </tr>
        <tr>
            <td><label>Address</label></td>
            <td><input type='text' name='Address'></td>
        </tr>
        <tr>
            <td><label>City</label></td>
            <td><input type='text' name='City'></td>
        </tr>
    </table>
</fieldset>

DEMO

...