194 votes

Utiliser la légende du jeu de champs avec bootstrap

J'utilise Bootstrap pour ma page JSP.

Je veux utiliser <fieldset> et <legend> pour ma forme. C'est mon code.

<fieldset class="scheduler-border">
    <legend class="scheduler-border">Start Time</legend>
    <div class="control-group">
        <label class="control-label input-label" for="startTime">Start :</label>
        <div class="controls bootstrap-timepicker">
            <input type="text" class="datetime" type="text" id="startTime" name="startTime" placeholder="Start Time" />
            <i class="icon-time"></i>
        </div>
    </div>
</fieldset>

CSS est

fieldset.scheduler-border {
    border: 1px groove #ddd !important;
    padding: 0 1.4em 1.4em 1.4em !important;
    margin: 0 0 1.5em 0 !important;
    -webkit-box-shadow:  0px 0px 0px 0px #000;
            box-shadow:  0px 0px 0px 0px #000;
}

legend.scheduler-border {
    font-size: 1.2em !important;
    font-weight: bold !important;
    text-align: left !important;

}

Je suis sortie comme ça enter image description here

Je veux de la sortie de la façon suivante

enter image description here

J'ai essayé d'ajouter

border:none;
width:100px;

d' legend.scheduler-border en CSS. Et j'obtiens le résultat escompté. Mais le problème c'est que je voudrais ajouter un autre <fieldset> pour un autre champs. Cette fois la largeur du Texte dans la légende est un problème car c'est plus long que de 100px.

Donc que dois-je faire pour obtenir une sortie comme je l'ai mentionné?(Sans frapper le texte de la légende)

235voto

James Donnelly Points 27085

C'est parce que Bootstrap par défaut définit la largeur de l' legend élément à 100%. Vous pouvez résoudre ce problème en changeant votre legend.scheduler-border d'utiliser:

legend.scheduler-border {
    width:inherit; /* Or auto */
    padding:0 10px; /* To give a bit of padding on the left and right */
    border-bottom:none;
}

JSFiddle exemple.

Vous devez également vous assurer que votre feuille de style personnalisée est ajouté après Bootstrap pour éviter Bootstrap primordial de votre style - bien que vos styles ici devrait avoir une plus grande spécificité.

Vous pouvez également ajouter margin-bottom:0; ainsi à réduire l'écart entre la légende et le diviseur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X