web-dev-qa-db-fra.com

Quelle balise CSS crée une boîte comme celle-ci avec titre?

Je veux créer une boîte comme celle-ci avec titre:

CSS box with title

Quelqu'un peut-il me faire savoir s'il existe une balise CSS par défaut pour le faire? Ou dois-je créer mon style personnalisé?

37
Mozammel

Je crois que vous recherchez la balise HTML fieldset, que vous pouvez ensuite styler avec CSS. Par exemple.,

<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>
53
Athena

Si vous ne l'utilisez pas dans les formulaires et souhaitez plutôt l'utiliser sous une forme non modifiable, vous pouvez le faire via le code suivant -

<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>

Et dans le fichier 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 {
}
9
Jagath

de 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>
5
AlexWilson

Cela vous donnera ce que vous voulez

<head>
    <title></title>
    <style type="text/css">
        legend {border:solid 1px;}
    </style>
</head>
<body>
    <fieldset>
        <legend>Test</legend>
        <br /><br />
    </fieldset>
</body>
3
naspinski

Autant que je sache (corrigez-moi si je me trompe!), Il n'y en a pas.

Je vous recommande d'utiliser une div avec un négatif-margin-h1 à l'intérieur. En fonction de la structure sémantique de votre document, vous pouvez également utiliser un groupe de champs (HTML) avec une légende (HTML) à l'intérieur duquel ressemble approximativement à ceci par défaut.

2
Matthias Meid

Je pense que cet exemple peut aussi être utile à quelqu'un:

.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>

1
riwex

Vous pouvez essayer ceci.

<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

0
Ajay Gupta