อะไรคือวิธีที่ดีที่สุดในการออกแบบฟอร์มที่มีลักษณะเช่นนี้ (โปรดดูลิงค์ด้านล่าง) ใน twitter bootstrap โดยไม่มีคลาสแบบโฮมเมด
เป็นไปได้หรือไม่ที่จะตั้งค่า form-inline ภายในภายใน form-horizontal ดังตัวอย่างด้านล่าง:
อะไรคือวิธีที่ดีที่สุดในการออกแบบฟอร์มที่มีลักษณะเช่นนี้ (โปรดดูลิงค์ด้านล่าง) ใน twitter bootstrap โดยไม่มีคลาสแบบโฮมเมด
เป็นไปได้หรือไม่ที่จะตั้งค่า form-inline ภายในภายใน form-horizontal ดังตัวอย่างด้านล่าง:
คำตอบ:
อย่าวาง<form>
แท็กซึ่งจะไม่ทำงาน เพียงแค่ใช้คลาส Bootstrap
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="inputType" class="col-md-2 control-label">Type</label>
<div class="col-md-3">
<input type="text" class="form-control" id="inputType" placeholder="Type">
</div>
</div>
<div class="form-group">
<span class="col-md-2 control-label">Metadata</span>
<div class="col-md-6">
<div class="form-group row">
<label for="inputKey" class="col-md-1 control-label">Key</label>
<div class="col-md-2">
<input type="text" class="form-control" id="inputKey" placeholder="Key">
</div>
<label for="inputValue" class="col-md-1 control-label">Value</label>
<div class="col-md-2">
<input type="text" class="form-control" id="inputValue" placeholder="Value">
</div>
</div>
</div>
</div>
</form>
คุณสามารถบรรลุพฤติกรรมนั้นได้หลายวิธีนั่นเป็นเพียงตัวอย่าง ทดสอบบนbootplyนี้
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="inputType">Type</label>
<div class="controls">
<input type="text" id="inputType" placeholder="Type">
</div>
</div>
<div class="control-group">
<span class="control-label">Metadata</span>
<div class="controls form-inline">
<label for="inputKey">Key</label>
<input type="text" class="input-small" placeholder="Key" id="inputKey">
<label for="inputValue">Value</label>
<input type="password" class="input-small" placeholder="Value" id="inputValue">
</div>
</div>
</form>
โปรดทราบว่าฉันใช้.form-inline
จะได้รับการจัดแต่งทรงผม PROPPER .controls
ภายใน
คุณสามารถทดสอบบนjsfiddle นี้
สำหรับตัวอย่าง bootstrap 3 ด้านบนใช้งานได้ แต่มีความซับซ้อนมากกว่าการใช้ form-group ใช้ form-inline สำหรับเขตข้อมูลที่คุณต้องการแบบอินไลน์
เช่น:
<div class="form-group">
<label>CVV</label>
<input type="text" size="4" class="form-control" />
</div>
<div class="form-inline">
<label>Expiration (MM/YYYY)</label><br>
<input type="text" size="2" class="form-control" /> / <input type="text" size="4" class="form-control" />
</div>
สิ่งนี้ใช้ twitter bootstrap 3.x กับคลาส css หนึ่งคลาสเพื่อให้ได้เลเบลเพื่อนั่งด้านบนของอินพุต นี่คือลิงก์ซอให้ตรวจสอบให้แน่ใจว่าได้ขยายแผงผลลัพธ์ให้กว้างพอที่จะเห็นเอฟเฟกต์
HTML:
<div class="row myform">
<div class="col-md-12">
<form name="myform" role="form" novalidate>
<div class="form-group">
<label class="control-label" for="fullName">Address Line</label>
<input required type="text" name="addr" id="addr" class="form-control" placeholder="Address"/>
</div>
<div class="form-inline">
<div class="form-group">
<label>State</label>
<input required type="text" name="state" id="state" class="form-control" placeholder="State"/>
</div>
<div class="form-group">
<label>ZIP</label>
<input required type="text" name="zip" id="zip" class="form-control" placeholder="Zip"/>
</div>
</div>
<div class="form-group">
<label class="control-label" for="country">Country</label>
<input required type="text" name="country" id="country" class="form-control" placeholder="country"/>
</div>
</form>
</div>
</div>
CSS:
.myform input.form-control {
display: block; /* allows labels to sit on input when inline */
margin-bottom: 15px; /* gives padding to bottom of inline inputs */
}
เนื่องจาก bootstrap 4 ใช้ div class = "form-row" ร่วมกับ div class = "form-group col-X" X คือความกว้างที่คุณต้องการ คุณจะได้รับคอลัมน์อินไลน์ที่ดี ดูซอ
<form class="form-horizontal" name="FORMNAME" method="post" action="ACTION" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label col-sm-2" for="naam">Naam: *</label>
<div class="col-sm-10">
<input type="text" require class="form-control" id="naam" name="Naam" placeholder="Uw naam" value="{--NAAM--}" >
<div id="naamx" class="form-error form-hidden">Wat is uw naam?</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-5">
<label class="control-label col-sm-4" for="telefoon">Telefoon: *</label>
<div class="col-sm-12">
<input type="tel" require class="form-control" id="telefoon" name="Telefoon" placeholder="Telefoon nummer" value="{--TELEFOON--}" >
<div id="telefoonx" class="form-error form-hidden">Wat is uw telefoonnummer?</div>
</div>
</div>
<div class="form-group col-5">
<label class="control-label col-sm-4" for="email">E-mail: </label>
<div class="col-sm-12">
<input type="email" require class="form-control" id="email" name="E-mail" placeholder="E-mail adres" value="{--E-MAIL--}" >
<div id="emailx" class="form-error form-hidden">Wat is uw e-mail adres?</div>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="titel">Titel: *</label>
<div class="col-sm-10">
<input type="text" require class="form-control" id="titel" name="Titel" placeholder="Titel van uw vraag of aanbod" value="{--TITEL--}" >
<div id="titelx" class="form-error form-hidden">Wat is de titel van uw vraag of aanbod?</div>
</div>
</div>
<from>
ฉันรู้ว่านี่เป็นคำตอบเก่า แต่นี่คือสิ่งที่ฉันมักจะทำ:
CSS:
.form-control-inline {
width: auto;
float:left;
margin-right: 5px;
}
จากนั้นตัดฟิลด์ที่คุณต้องการให้แทรกใน div และเพิ่ม. form-control-inline ให้กับอินพุตตัวอย่าง:
HTML
<label class="control-label">Date of birth:</label>
<div>
<select class="form-control form-control-inline" name="year"> ... </select>
<select class="form-control form-control-inline" name="month"> ... </select>
<select class="form-control form-control-inline" name="day"> ... </select>
</div>
เพื่อให้ง่ายเพียงเพิ่มclass="form-inline"
ก่อนอินพุต
ตัวอย่าง:
<div class="col-md-4 form-inline"> //add the class here...
<label>Lot Size:</label>
<input type="text" value="" name="" class="form-control" >
</div>