2016年7月26日 星期二

BS3 Input Groups

BS3 Input Group

簡介

BS3 中的 .input-group 容器類別可以裝飾文字輸入欄位,讓文字欄位的外觀有更多的變化,像是在輸入欄位的前端、後端或前後兩端加入副元件,副元件的內容可以是圖像或文字,可以產生相當有趣的輸入欄位外觀。要注意的是 .input-group 只能用在文字輸入欄位,如果所期望的不是文字型態的輸入值,在取得輸入值後,得配合做一些資料型態的轉換。.input-group 也可放在 .form-group 下使用,並使用 col-*-* 來設定寬度。

.input-group-addon
搭配 <span> 使用,在輸入欄位的前端或後端加入副件元件,加在前端或後端則依 <span> 的所在位置而定。
.input-group-sm, .input-group-lg
改變 .input-group 欄位的大小。很有趣的是,此時副件元件的大小也會跟著改變,但如果是使用 form-group-* 來改變欄位大小時,副元件會保持原來的大小。

以下為 BS3 V3.3.6 的 bootstrap.css 樣式表中和 .input-group 相關的部份樣式定義,其它的請參考 bootstrap.css 檔案的內容。

.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}
.input-group[class*="col-"] {
    float: none;
    padding-right: 0;
    padding-left: 0;
}
.input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0;
}
.input-group .form-control:focus {
    z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
    height: 46px;
    line-height: 46px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
    height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
    height: 30px;
    line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
    height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
    display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0;
}
.input-group-addon,
.input-group-btn {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}
.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px;
}

範例

範例用 form-horizontal 的表單格式,並將 .input-group 置於 .form-group 容器中展示了三個 .input-group 的例子。副元件有加在輸入欄位的前方,也有加在後端和兩端都加的。副元件的形態有圖像和文字。

CSS

<style>
html {
    width: 100%;
    height: auto;
}
body {
    margin: 0 auto;
    max-width: 1000px;
    padding: 20px;
}
#demo {
    width: 400px;
    height: auto;
}
</style>

#demo 定義了父元件的寬度為 400px。沒有設定其它的樣式。

HTML

<body>
    
.00
$ .00
</body>

HTML 程式碼淺顯易懂,不多作解釋了。

沒有留言:

張貼留言