Ich entwickle ein Formular in Bootstrap 3, das eine Reihe von Textsteuerelementen und ein Bild haben soll. Das Formular nimmt 100% seines Containers ein und die Texteingaben werden ebenfalls auf 100% Breite gesetzt. Das funktioniert gut, wenn ich mich nicht um ein Bild kümmern muss. Ich benutze den Bootstrap .form-control
und .form-horizontal
Klassen, um es (unten Code) funktioniert:Passen Sie Teile eines Div automatisch an, abhängig von der Breite eines Bildes?
Aktuelle Blick
ich das Bild auf der rechten Seite dieser Form Kontrollen setzen müssen und entsprechend verringern ihre Breite:
Mockup
Ich würde einfach in eine andere Spalte in Bootstrap Grid-System, um dies zu behandeln, aber ich würde auch gerne die Spalten wieder auf die volle Breite gehen, wenn das Bild fertig ist, wie in der Mock-up Bild oben gezeigt. Ähnliches wie das "enge" Bildlayout in Microsoft Word. Ich habe versucht, float:right;
und display:inline-block'
auf die Bildklasse Einstellung aber nicht entpuppt richtig:
Noch nicht Arbeiten
Wer weiß, wie die Gestaltung der Arbeit zu machen, wie, wie ich Beschrieben es im Modell?
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div>
<h2>New Guest</h2>
<form class="form-horizontal" role="form">
<img src="http://images.all-free-download.com/images/graphiclarge/man_silhouette_clip_art_9510.jpg" style="float: right; max-width: 200px; display: inline-block;" />
<div class="form-group" id="group-tbFirstName">
<label for="tbFirstName" class="col-sm-3 control-label">First Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="tbFirstName" placeholder="First Name" value="" />
</div>
</div>
<div class="form-group" id="group-tbLastName">
<label for="tbLastName" class="col-sm-3 control-label">Last Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="tbLastName" placeholder="Last Name" value="" />
</div>
</div>
<div class="form-group" id="group-optGender">
<label for="optGender" class="col-sm-3 control-label">Gender</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="optGender" placeholder="Gender" value="" />
</div>
</div>
<div class="form-group" id="group-tbAge">
<label for="tbAge" class="col-sm-3 control-label">Age</label>
<div class="col-sm-9">
<input type="number" class="form-control" step="any" id="tbAge" value="" placeholder="Age" />
</div>
</div>
<div class="form-group" id="group-dtDateOfBirth">
<label for="dtDateOfBirth" class="col-sm-3 control-label">Date of Birth</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="dtDateOfBirth" placeholder="Date of Birth" value="" />
</div>
</div>
</form>
</div>
</body>
</html>
Der spezifische Effekt, den ich für gehe ist die Eingaben unter dem Bild zu haben, wieder auf 100% erweitern wird. Wie folgt aus:
Ich weiß, dass das Bild schwebt werden kann, aber ich will nicht alle Eingänge darunter mit der gleichen Breite wie die, die auf den Linien mit dem Bild. Ich möchte, dass sie sich ausdehnen.
das Bild als float rechts setzen und einige padding, um es hinzuzufügen. Verwenden Sie keinen Inline-Block dafür. – frenchie
Ich schlage vor, Sie bieten eine Geige –
Hinzugefügt! http://jsbin.com/neqosoduqe/1/edit –