form.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962
  1. ---
  2. layout: documentation
  3. doc-tab: elements
  4. doc-subtab: form
  5. ---
  6. {% include subnav-elements.html %}
  7. <section class="section">
  8. <div class="container">
  9. <h1 class="title">Form controls</h1>
  10. <h2 class="subtitle">
  11. All generic <strong>form controls</strong>, designed for consistency
  12. </h2>
  13. <hr>
  14. <div class="content">
  15. <p>The following form controls <strong>classes</strong> are supported:</p>
  16. <ul>
  17. <li><code>.label</code></li>
  18. <li><code>.input</code></li>
  19. <li><code>.textarea</code></li>
  20. <li><code>.select</code></li>
  21. <li><code>.checkbox</code></li>
  22. <li><code>.radio</code></li>
  23. <li><code>.button</code></li>
  24. <li><code>.help</code></li>
  25. </ul>
  26. <p>Each of them should be wrapped in a <code>.control</code> container.<br>
  27. When combining several controls in a <strong>form</strong>, use the <code>.field</code> class as a <strong>container</strong>, to keep the spacing consistent.</p>
  28. </div>
  29. {% capture form_example %}
  30. <div class="field">
  31. <label class="label">Name</label>
  32. <p class="control">
  33. <input class="input" type="text" placeholder="Text input">
  34. </p>
  35. </div>
  36. <div class="field">
  37. <label class="label">Username</label>
  38. <p class="control has-icon has-icon-right">
  39. <input class="input is-success" type="text" placeholder="Text input" value="bulma">
  40. <span class="icon is-small">
  41. <i class="fa fa-check"></i>
  42. </span>
  43. </p>
  44. <p class="help is-success">This username is available</p>
  45. </div>
  46. <div class="field">
  47. <label class="label">Email</label>
  48. <p class="control has-icon has-icon-right">
  49. <input class="input is-danger" type="text" placeholder="Email input" value="hello@">
  50. <span class="icon is-small">
  51. <i class="fa fa-warning"></i>
  52. </span>
  53. </p>
  54. <p class="help is-danger">This email is invalid</p>
  55. </div>
  56. <div class="field">
  57. <label class="label">Subject</label>
  58. <p class="control">
  59. <span class="select">
  60. <select>
  61. <option>Select dropdown</option>
  62. <option>With options</option>
  63. </select>
  64. </span>
  65. </p>
  66. </div>
  67. <div class="field">
  68. <label class="label">Message</label>
  69. <p class="control">
  70. <textarea class="textarea" placeholder="Textarea"></textarea>
  71. </p>
  72. </div>
  73. <div class="field">
  74. <p class="control">
  75. <label class="checkbox">
  76. <input type="checkbox">
  77. Remember me
  78. </label>
  79. </p>
  80. </div>
  81. <div class="field">
  82. <p class="control">
  83. <label class="radio">
  84. <input type="radio" name="question">
  85. Yes
  86. </label>
  87. <label class="radio">
  88. <input type="radio" name="question">
  89. No
  90. </label>
  91. </p>
  92. </div>
  93. <div class="field is-grouped">
  94. <p class="control">
  95. <button class="button is-primary">Submit</button>
  96. </p>
  97. <p class="control">
  98. <button class="button is-link">Cancel</button>
  99. </p>
  100. </div>
  101. {% endcapture %}
  102. <div class="columns">
  103. <div class="column is-half">
  104. {{form_example}}
  105. </div>
  106. <div class="column is-half">
  107. {% highlight html %}
  108. {{form_example}}
  109. {% endhighlight %}
  110. </div>
  111. </div>
  112. <hr>
  113. <h3 class="title">Colors</h3>
  114. {% capture colors_example %}
  115. <div class="field">
  116. <p class="control">
  117. <input class="input is-primary" type="text" placeholder="Primary input">
  118. </p>
  119. </div>
  120. <div class="field">
  121. <p class="control">
  122. <input class="input is-info" type="text" placeholder="Info input">
  123. </p>
  124. </div>
  125. <div class="field">
  126. <p class="control">
  127. <input class="input is-success" type="text" placeholder="Success input">
  128. </p>
  129. </div>
  130. <div class="field">
  131. <p class="control">
  132. <input class="input is-warning" type="text" placeholder="Warning input">
  133. </p>
  134. </div>
  135. <div class="field">
  136. <p class="control">
  137. <input class="input is-danger" type="text" placeholder="Danger input">
  138. </p>
  139. </div>
  140. {% endcapture %}
  141. <div class="columns">
  142. <div class="column is-half">
  143. {{colors_example}}
  144. </div>
  145. <div class="column is-half">
  146. {% highlight html %}
  147. {{colors_example}}
  148. {% endhighlight %}
  149. </div>
  150. </div>
  151. <hr>
  152. {% capture sizes_example %}
  153. <div class="field">
  154. <p class="control">
  155. <input class="input is-small" type="text" placeholder="Small input">
  156. </p>
  157. </div>
  158. <div class="field">
  159. <p class="control">
  160. <input class="input" type="text" placeholder="Normal input">
  161. </p>
  162. </div>
  163. <div class="field">
  164. <p class="control">
  165. <input class="input is-medium" type="text" placeholder="Medium input">
  166. </p>
  167. </div>
  168. <div class="field">
  169. <p class="control">
  170. <input class="input is-large" type="text" placeholder="Large input">
  171. </p>
  172. </div>
  173. <div class="field">
  174. <p class="control">
  175. <span class="select is-small">
  176. <select>
  177. <option>Select dropdown</option>
  178. <option>With options</option>
  179. </select>
  180. </span>
  181. </p>
  182. </div>
  183. <div class="field">
  184. <p class="control">
  185. <span class="select">
  186. <select>
  187. <option>Select dropdown</option>
  188. <option>With options</option>
  189. </select>
  190. </span>
  191. </p>
  192. </div>
  193. <div class="field">
  194. <p class="control">
  195. <span class="select is-medium">
  196. <select>
  197. <option>Select dropdown</option>
  198. <option>With options</option>
  199. </select>
  200. </span>
  201. </p>
  202. </div>
  203. <div class="field">
  204. <p class="control">
  205. <span class="select is-large">
  206. <select>
  207. <option>Select dropdown</option>
  208. <option>With options</option>
  209. </select>
  210. </span>
  211. </p>
  212. </div>
  213. {% endcapture %}
  214. <h3 class="title">Sizes</h3>
  215. <div class="columns">
  216. <div class="column is-half">
  217. {{sizes_example}}
  218. </div>
  219. <div class="column is-half">
  220. {% highlight html %}
  221. {{sizes_example}}
  222. {% endhighlight %}
  223. </div>
  224. </div>
  225. <hr>
  226. <h3 class="title">States</h3>
  227. <h4 class="subtitle">Normal</h4>
  228. {% capture normal_example %}
  229. <div class="field">
  230. <p class="control">
  231. <input class="input" type="text" placeholder="Normal input">
  232. </p>
  233. </div>
  234. <div class="field">
  235. <p class="control">
  236. <textarea class="textarea" placeholder="Normal textarea"></textarea>
  237. </p>
  238. </div>
  239. {% endcapture %}
  240. <div class="columns">
  241. <div class="column is-half">
  242. {{normal_example}}
  243. </div>
  244. <div class="column is-half">
  245. {% highlight html %}
  246. {{normal_example}}
  247. {% endhighlight %}
  248. </div>
  249. </div>
  250. <h4 class="subtitle">Hover</h4>
  251. {% capture hover_example %}
  252. <div class="field">
  253. <p class="control">
  254. <input class="input is-hovered" type="text" placeholder="Hovered input">
  255. </p>
  256. </div>
  257. <div class="field">
  258. <p class="control">
  259. <textarea class="textarea is-hovered" placeholder="Hovered textarea"></textarea>
  260. </p>
  261. </div>
  262. {% endcapture %}
  263. <div class="columns">
  264. <div class="column is-half">
  265. {{hover_example}}
  266. </div>
  267. <div class="column is-half">
  268. {% highlight html %}
  269. {{hover_example}}
  270. {% endhighlight %}
  271. </div>
  272. </div>
  273. <h4 class="subtitle">Focus</h4>
  274. {% capture focus_example %}
  275. <div class="field">
  276. <p class="control">
  277. <input class="input is-focused" type="text" placeholder="Focused input">
  278. </p>
  279. </div>
  280. <div class="field">
  281. <p class="control">
  282. <textarea class="textarea is-focused" placeholder="Focused textarea"></textarea>
  283. </p>
  284. </div>
  285. {% endcapture %}
  286. <div class="columns">
  287. <div class="column is-half">
  288. {{focus_example}}
  289. </div>
  290. <div class="column is-half">
  291. {% highlight html %}
  292. {{focus_example}}
  293. {% endhighlight %}
  294. </div>
  295. </div>
  296. <h4 class="subtitle">Loading</h4>
  297. {% capture loading_example %}
  298. <div class="field">
  299. <p class="control is-loading">
  300. <input class="input" type="text" placeholder="Loading input">
  301. </p>
  302. </div>
  303. <div class="field">
  304. <p class="control is-loading">
  305. <textarea class="textarea" placeholder="Loading textarea"></textarea>
  306. </p>
  307. </div>
  308. {% endcapture %}
  309. <div class="columns">
  310. <div class="column is-half">
  311. {{loading_example}}
  312. </div>
  313. <div class="column is-half">
  314. {% highlight html %}
  315. {{loading_example}}
  316. {% endhighlight %}
  317. </div>
  318. </div>
  319. <h4 class="subtitle">Disabled</h4>
  320. {% capture disabled_example %}
  321. <div class="field">
  322. <p class="control">
  323. <input class="input" type="text" placeholder="Disabled input" disabled>
  324. </p>
  325. </div>
  326. <div class="field">
  327. <p class="control">
  328. <textarea class="textarea" placeholder="Disabled textarea" disabled></textarea>
  329. </p>
  330. </div>
  331. <div class="field">
  332. <p class="control">
  333. <label class="checkbox" disabled>
  334. <input type="checkbox" disabled>
  335. Remember me
  336. </label>
  337. </p>
  338. </div>
  339. <div class="field">
  340. <p class="control">
  341. <label class="radio" disabled>
  342. <input type="radio" name="question" disabled>
  343. Yes
  344. </label>
  345. <label class="radio" disabled>
  346. <input type="radio" name="question" disabled>
  347. No
  348. </label>
  349. </p>
  350. </div>
  351. <div class="field is-grouped">
  352. <p class="control">
  353. <button class="button is-primary" disabled>Submit</button>
  354. </p>
  355. <p class="control">
  356. <button class="button" disabled>Cancel</button>
  357. </p>
  358. </div>
  359. {% endcapture %}
  360. <div class="columns">
  361. <div class="column is-half">
  362. {{disabled_example}}
  363. </div>
  364. <div class="column is-half">
  365. {% highlight html %}
  366. {{disabled_example}}
  367. {% endhighlight %}
  368. </div>
  369. </div>
  370. <h4 class="subtitle">With Font Awesome icons</h4>
  371. {% capture icons_example %}
  372. <div class="field">
  373. <p class="control has-icon">
  374. <input class="input" type="email" placeholder="Email">
  375. <span class="icon is-small">
  376. <i class="fa fa-envelope"></i>
  377. </span>
  378. </p>
  379. </div>
  380. <div class="field">
  381. <p class="control has-icon">
  382. <input class="input" type="password" placeholder="Password">
  383. <span class="icon is-small">
  384. <i class="fa fa-lock"></i>
  385. </span>
  386. </p>
  387. </div>
  388. <div class="field">
  389. <p class="control">
  390. <button class="button is-success">
  391. Login
  392. </button>
  393. </p>
  394. </div>
  395. {% endcapture %}
  396. <div class="columns">
  397. <div class="column is-half">
  398. {{icons_example}}
  399. </div>
  400. <div class="column is-half">
  401. {% highlight html %}
  402. {{icons_example}}
  403. {% endhighlight %}
  404. </div>
  405. </div>
  406. {% capture icons_sizes_example %}
  407. <div class="field">
  408. <p class="control has-icon">
  409. <input class="input is-small" type="email" placeholder="Email">
  410. <span class="icon is-small">
  411. <i class="fa fa-envelope"></i>
  412. </span>
  413. </p>
  414. </div>
  415. <div class="field">
  416. <p class="control has-icon">
  417. <input class="input" type="email" placeholder="Email">
  418. <span class="icon is-small">
  419. <i class="fa fa-envelope"></i>
  420. </span>
  421. </p>
  422. </div>
  423. <div class="field">
  424. <p class="control has-icon">
  425. <input class="input" type="email" placeholder="Email">
  426. <span class="icon">
  427. <i class="fa fa-envelope"></i>
  428. </span>
  429. </p>
  430. </div>
  431. <div class="field">
  432. <p class="control has-icon">
  433. <input class="input is-medium" type="email" placeholder="Email">
  434. <span class="icon is-small">
  435. <i class="fa fa-envelope"></i>
  436. </span>
  437. </p>
  438. </div>
  439. <div class="field">
  440. <p class="control has-icon">
  441. <input class="input is-medium" type="email" placeholder="Email">
  442. <span class="icon">
  443. <i class="fa fa-envelope"></i>
  444. </span>
  445. </p>
  446. </div>
  447. <div class="field">
  448. <p class="control has-icon">
  449. <input class="input is-medium" type="email" placeholder="Email">
  450. <span class="icon is-medium">
  451. <i class="fa fa-envelope"></i>
  452. </span>
  453. </p>
  454. </div>
  455. <div class="field">
  456. <p class="control has-icon">
  457. <input class="input is-large" type="email" placeholder="Email">
  458. <span class="icon is-small">
  459. <i class="fa fa-envelope"></i>
  460. </span>
  461. </p>
  462. </div>
  463. <div class="field">
  464. <p class="control has-icon">
  465. <input class="input is-large" type="email" placeholder="Email">
  466. <span class="icon">
  467. <i class="fa fa-envelope"></i>
  468. </span>
  469. </p>
  470. </div>
  471. <div class="field">
  472. <p class="control has-icon">
  473. <input class="input is-large" type="email" placeholder="Email">
  474. <span class="icon is-medium">
  475. <i class="fa fa-envelope"></i>
  476. </span>
  477. </p>
  478. </div>
  479. {% endcapture %}
  480. <div class="columns">
  481. <div class="column is-half">
  482. <div class="content">
  483. <p>
  484. <span class="tag is-success">New!</span>
  485. </p>
  486. <p>
  487. If the control contains an icon, Bulma will make sure the icon remains <strong>centered</strong>, no matter the size of the input <em>or</em> of the icon.
  488. </p>
  489. </div>
  490. {{icons_sizes_example}}
  491. </div>
  492. <div class="column is-half">
  493. {% highlight html %}
  494. {{icons_sizes_example}}
  495. {% endhighlight %}
  496. </div>
  497. </div>
  498. {% capture icons_sizes_right_example %}
  499. <div class="field">
  500. <p class="control has-icon has-icon-right">
  501. <input class="input is-small" type="email" placeholder="Email">
  502. <span class="icon is-small">
  503. <i class="fa fa-check"></i>
  504. </span>
  505. </p>
  506. </div>
  507. <div class="field">
  508. <p class="control has-icon has-icon-right">
  509. <input class="input" type="email" placeholder="Email">
  510. <span class="icon">
  511. <i class="fa fa-check"></i>
  512. </span>
  513. </p>
  514. </div>
  515. <div class="field">
  516. <p class="control has-icon has-icon-right">
  517. <input class="input is-medium" type="email" placeholder="Email">
  518. <span class="icon is-medium">
  519. <i class="fa fa-check"></i>
  520. </span>
  521. </p>
  522. </div>
  523. <div class="field">
  524. <p class="control has-icon has-icon-right">
  525. <input class="input is-large" type="email" placeholder="Email">
  526. <span class="icon is-large">
  527. <i class="fa fa-check"></i>
  528. </span>
  529. </p>
  530. </div>
  531. {% endcapture %}
  532. <div class="columns">
  533. <div class="column is-half">
  534. <div class="content">
  535. <p>
  536. By appending the <code>has-icon-right</code>, the icon will be placed on the right side instead.
  537. </p>
  538. </div>
  539. {{icons_sizes_right_example}}
  540. </div>
  541. <div class="column is-half">
  542. {% highlight html %}
  543. {{icons_sizes_right_example}}
  544. {% endhighlight %}
  545. </div>
  546. </div>
  547. <hr>
  548. <h3 class="title">Form addons</h3>
  549. <div class="content">
  550. <p>If you want to <strong>attach</strong> controls together, use the <code>has-addons</code> modifier on the <code>control</code> container:</p>
  551. </div>
  552. {% capture addons_example %}
  553. <div class="field has-addons">
  554. <p class="control">
  555. <input class="input" type="text" placeholder="Find a repository">
  556. </p>
  557. <p class="control">
  558. <a class="button is-info">
  559. Search
  560. </a>
  561. </p>
  562. </div>
  563. {% endcapture %}
  564. <div class="example">
  565. {{addons_example}}
  566. </div>
  567. {% highlight html %}
  568. {{addons_example}}
  569. {% endhighlight %}
  570. <div class="content">
  571. <p>You can attach inputs, buttons, and dropdowns <strong>only</strong>.</p>
  572. <p>Use the <code>is-expanded</code> modifier on the element you want to fill up the remaing space (in this case, the input):</p>
  573. </div>
  574. {% capture addons_expanded_example %}
  575. <div class="field has-addons">
  576. <p class="control">
  577. <span class="select">
  578. <select>
  579. <option>$</option>
  580. <option>£</option>
  581. <option>€</option>
  582. </select>
  583. </span>
  584. </p>
  585. <p class="control">
  586. <input class="input" type="text" placeholder="Amount of money">
  587. </p>
  588. <p class="control">
  589. <a class="button">
  590. Transfer
  591. </a>
  592. </p>
  593. </div>
  594. <div class="field has-addons">
  595. <p class="control">
  596. <span class="select">
  597. <select>
  598. <option>$</option>
  599. <option>£</option>
  600. <option>€</option>
  601. </select>
  602. </span>
  603. </p>
  604. <p class="control is-expanded">
  605. <input class="input" type="text" placeholder="Amount of money">
  606. </p>
  607. <p class="control">
  608. <a class="button">
  609. Transfer
  610. </a>
  611. </p>
  612. </div>
  613. {% endcapture %}
  614. <div class="example">
  615. {{addons_expanded_example}}
  616. </div>
  617. {% highlight html %}
  618. {{addons_expanded_example}}
  619. {% endhighlight %}
  620. <div class="content">
  621. <p>Use the <code>has-addons-centered</code> or the <code>has-addons-right</code> modifers to alter the <strong>alignment</strong>.</p>
  622. </div>
  623. {% capture addons_center_example %}
  624. <div class="field has-addons has-addons-centered">
  625. <p class="control">
  626. <span class="select">
  627. <select>
  628. <option>$</option>
  629. <option>£</option>
  630. <option>€</option>
  631. </select>
  632. </span>
  633. </p>
  634. <p class="control">
  635. <input class="input" type="text" placeholder="Amount of money">
  636. </p>
  637. <p class="control">
  638. <a class="button is-primary">
  639. Transfer
  640. </a>
  641. </p>
  642. </div>
  643. {% endcapture %}
  644. <div class="example">
  645. {{addons_center_example}}
  646. </div>
  647. {% highlight html %}
  648. {{addons_center_example}}
  649. {% endhighlight %}
  650. {% capture addons_right_example %}
  651. <div class="field has-addons has-addons-right">
  652. <p class="control">
  653. <span class="select">
  654. <select>
  655. <option>$</option>
  656. <option>£</option>
  657. <option>€</option>
  658. </select>
  659. </span>
  660. </p>
  661. <p class="control">
  662. <input class="input" type="text" placeholder="Amount of money">
  663. </p>
  664. <p class="control">
  665. <a class="button is-primary">
  666. Transfer
  667. </a>
  668. </p>
  669. </div>
  670. {% endcapture %}
  671. <div class="example">
  672. {{addons_right_example}}
  673. </div>
  674. {% highlight html %}
  675. {{addons_right_example}}
  676. {% endhighlight %}
  677. <hr>
  678. <h3 class="title">Form group</h3>
  679. <div class="content">
  680. <p>
  681. If you want to <strong>group</strong> controls together, use the <code>is-grouped</code> modifier on the <code>control</code> container.
  682. <br>
  683. Add the <code>is-expanded</code> modifier on the control element you want to <strong>fill up the remaining space</strong>.
  684. </p>
  685. </div>
  686. {% capture group_example %}
  687. <div class="field is-grouped">
  688. <p class="control is-expanded">
  689. <input class="input" type="text" placeholder="Find a repository">
  690. </p>
  691. <p class="control">
  692. <a class="button is-info">
  693. Search
  694. </a>
  695. </p>
  696. </div>
  697. {% endcapture %}
  698. <div class="example">
  699. {{group_example}}
  700. </div>
  701. {% highlight html %}
  702. {{group_example}}
  703. {% endhighlight %}
  704. <hr>
  705. <h3 class="title">Horizontal form</h3>
  706. <div class="content">
  707. <p>If you want a <strong>horizontal</strong> form control, use the <code>is-horizontal</code> modifier on the <code>control</code> container, in which you include:</p>
  708. <ul>
  709. <li>
  710. <code>control-label</code> for the side label
  711. </li>
  712. <li>
  713. <code>control</code> for the input/select/textarea container
  714. </li>
  715. </ul>
  716. <p>You can of course use <code>is-grouped</code> or <code>has-addons</code> for the child elements.</p>
  717. </div>
  718. {% capture horizontal_form_example %}
  719. <div class="field is-horizontal">
  720. <div class="field-label is-normal">
  721. <label class="label">From</label>
  722. </div>
  723. <div class="field-body">
  724. <div class="field is-grouped">
  725. <p class="control is-expanded">
  726. <input class="input" type="text" placeholder="Name">
  727. </p>
  728. </div>
  729. <div class="field">
  730. <p class="control is-expanded has-icon has-icon-right">
  731. <input class="input is-success" type="email" placeholder="Email" value="alex@smith.com">
  732. <span class="icon is-small">
  733. <i class="fa fa-check"></i>
  734. </span>
  735. </p>
  736. <p class="help is-success">This email is correct</p>
  737. </div>
  738. </div>
  739. </div>
  740. <div class="field is-horizontal">
  741. <div class="field-label is-normal">
  742. <label class="label">Department</label>
  743. </div>
  744. <div class="field-body">
  745. <div class="field is-narrow">
  746. <div class="control">
  747. <div class="select is-fullwidth">
  748. <select>
  749. <option>Business development</option>
  750. <option>Marketing</option>
  751. <option>Sales</option>
  752. </select>
  753. </div>
  754. </div>
  755. </div>
  756. </div>
  757. </div>
  758. <div class="field is-horizontal">
  759. <div class="field-label">
  760. <label class="label">Already a member?</label>
  761. </div>
  762. <div class="field-body">
  763. <div class="field is-narrow">
  764. <div class="control">
  765. <label class="radio">
  766. <input type="radio" name="member">
  767. Yes
  768. </label>
  769. <label class="radio">
  770. <input type="radio" name="member">
  771. No
  772. </label>
  773. </div>
  774. </div>
  775. </div>
  776. </div>
  777. <div class="field is-horizontal">
  778. <div class="field-label is-normal">
  779. <label class="label">Subject</label>
  780. </div>
  781. <div class="field-body">
  782. <div class="field">
  783. <div class="control">
  784. <input class="input is-danger" type="text" placeholder="e.g. Partnership opportunity">
  785. </div>
  786. <p class="help is-danger">
  787. This field is required
  788. </p>
  789. </div>
  790. </div>
  791. </div>
  792. <div class="field is-horizontal">
  793. <div class="field-label is-normal">
  794. <label class="label">Question</label>
  795. </div>
  796. <div class="field-body">
  797. <div class="field">
  798. <div class="control">
  799. <textarea class="textarea" placeholder="Explain how we can help you"></textarea>
  800. </div>
  801. </div>
  802. </div>
  803. </div>
  804. <div class="field is-horizontal">
  805. <div class="field-label">
  806. <!-- Left empty for spacing -->
  807. </div>
  808. <div class="field-body">
  809. <div class="field">
  810. <div class="control">
  811. <button class="button is-primary">
  812. Send message
  813. </button>
  814. </div>
  815. </div>
  816. </div>
  817. </div>
  818. {% endcapture %}
  819. <div class="example">
  820. {{horizontal_form_example}}
  821. </div>
  822. {% highlight html %}
  823. {{horizontal_form_example}}
  824. {% endhighlight %}
  825. <div class="content">
  826. <p>
  827. <span class="tag is-success">New!</span>
  828. <br>
  829. To preserve the <strong>vertical alignment</strong> of labels with each type and size of control, the <code>.field-label</code> comes with <strong>4 size modifiers</strong>:
  830. </p>
  831. <ul>
  832. <li>
  833. <code>.is-small</code>
  834. </li>
  835. <li>
  836. <code>.is-normal</code> for any <code>.input</code> or <code>.button</code>
  837. </li>
  838. <li>
  839. <code>.is-medium</code>
  840. </li>
  841. <li>
  842. <code>.is-large</code>
  843. </li>
  844. </ul>
  845. </div>
  846. {% capture field_label_example %}
  847. <div class="field is-horizontal">
  848. <div class="field-label">
  849. <label class="label">No padding</label>
  850. </div>
  851. <div class="field-body">
  852. <div class="field">
  853. <div class="control">
  854. <label class="checkbox">
  855. <input type="checkbox">
  856. Checkbox
  857. </label>
  858. </div>
  859. </div>
  860. </div>
  861. </div>
  862. <div class="field is-horizontal">
  863. <div class="field-label is-small">
  864. <label class="label">Small padding</label>
  865. </div>
  866. <div class="field-body">
  867. <div class="field">
  868. <div class="control">
  869. <input class="input is-small" type="text" placeholder="Small sized input">
  870. </div>
  871. </div>
  872. </div>
  873. </div>
  874. <div class="field is-horizontal">
  875. <div class="field-label is-normal">
  876. <label class="label">Normal label</label>
  877. </div>
  878. <div class="field-body">
  879. <div class="field">
  880. <div class="control">
  881. <input class="input" type="text" placeholder="Normal sized input">
  882. </div>
  883. </div>
  884. </div>
  885. </div>
  886. <div class="field is-horizontal">
  887. <div class="field-label is-medium">
  888. <label class="label">Medium label</label>
  889. </div>
  890. <div class="field-body">
  891. <div class="field">
  892. <div class="control">
  893. <input class="input is-medium" type="text" placeholder="Medium sized input">
  894. </div>
  895. </div>
  896. </div>
  897. </div>
  898. <div class="field is-horizontal">
  899. <div class="field-label is-large">
  900. <label class="label">Large label</label>
  901. </div>
  902. <div class="field-body">
  903. <div class="field">
  904. <div class="control">
  905. <input class="input is-large" type="text" placeholder="Large sized input">
  906. </div>
  907. </div>
  908. </div>
  909. </div>
  910. {% endcapture %}
  911. <div class="example">
  912. {{field_label_example}}
  913. </div>
  914. {% highlight html %}
  915. {{field_label_example}}
  916. {% endhighlight %}
  917. </div>
  918. </section>