flex布局案例-输入框布局

可用F12开发者工具查看元素及样式,可打开codepen在线编辑代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
```html
<html>
<div class="InputAddOn">
<span class="InputAddOn-item">icon</span>
<input class="InputAddOn-field" placeholder="input宽度自适应">
<button class="InputAddOn-item">提交</button>
</div>
<br/>
<div class="Media">
<div class="Media-figure">左侧固定</div>
<p class="Media-body">右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应右侧自适应</p>
</div>
</html>
<style>
.InputAddOn {
display: flex;
}
.InputAddOn-field {
flex: 1;
}
.Media {
display: flex;
align-items: flex-start;
}
.Media-figure {
width: 100px;
height: 100px;
background: #eee;
margin-right: 1em;
}
.Media-body {
flex: 1;
}
/* 基础样式 */
input:-webkit-autofill,
select:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset !important;
}
input {
outline-color: invert;
outline-style: none;
outline-width: 0px;
text-shadow: none;
-webkit-appearance: none;
-webkit-user-select: text;
outline-color: transparent;
box-shadow: none;
}
.InputAddOn-item {
width: 100px;
text-align: center;
line-height: 30px;
border: 1px solid #ccc;
background: #eee
}
.InputAddOn-field {
height: 30px;
padding: 1px 6px;
border: 1px solid #ccc;
border-left: none;
border-right: none;
}
</style>

> 参考:<http://www.ruanyifeng.com/blog/2015/07/flex-examples.html>

---

> 来源:本文导入自 [xugaoyi/vuepress-theme-vdoing](https://github.com/xugaoyi/vuepress-theme-vdoing/blob/d77b420/docs/02.%E9%A1%B5%E9%9D%A2/20.CSS/06.flex%E5%B8%83%E5%B1%80%E6%A1%88%E4%BE%8B-%E8%BE%93%E5%85%A5%E6%A1%86%E5%B8%83%E5%B1%80.md) 的 `docs/02.页面/20.CSS/06.flex布局案例-输入框布局.md`。
> 原作者:xugaoyi。许可证:[MIT](https://github.com/xugaoyi/vuepress-theme-vdoing/blob/d77b420/LICENSE)。