2015-10-25 62 views
0

如何在css中實現此輸入框外觀?Css - 帶圖標框和半徑的文本輸入

enter image description here

這是我到目前爲止已經試過。我不能圖標框放置在右側:

.inputs { 
    text-align: center; 
} 
.usericonbox { 
    display: inline-block; 
    width: 50px; 
    height: 50px; 
    background-color: #2af; 
    float: right; 
} 
.inputs input { 
    display: inline-block; 
    width: 100%; 
    text-align: center; 
    border-radius: 6px; 
    font-size: 1em; 
    height: 40px; 
    margin-bottom: 15px; 
    box-shadow: 0px 0px 5px 0px rgba(120,120,120,0.5); 
} 

HTML

<div class="inputs"> 
<span class="usericonbox"></span> 
<input type="text" placeholder="Username"></div> 

回答

1

使用絕對定位,在標記之後輸入移動圖標,添加一對夫婦的風格使得它的工作:

<div class="inputs"> 
    <input type="text" placeholder="Username" /> 
    <span class="usericonbox"></span> 
</div> 

.inputs { 
    position: relative; 
    text-align: center; 
} 
.usericonbox { 
    position: absolute; 
    top: 0px; 
    right: 0px; 
    width: 50px; 
    height: 42px; 
    background-color: #2af; 
    border-top-right-radius: 6px; 
    border-bottom-right-radius: 6px; 
} 
.inputs input { 
    display: inline-block; 
    width: 100%; 
    text-align: center; 
    font-size: 1em; 
    height: 40px; 
    margin-bottom: 15px; 
    border-radius: 6px; 
    border: 0px; 
    box-shadow: 0px 0px 5px 0px rgba(120,120,120,0.5); 
} 

下面是它的工作演示:https://jsfiddle.net/2rqw4d68/

+0

什麼'relative'定位是什麼?給它一個「頂級」值似乎會得到相同的結果。有什麼理由我們應該避免這種情況? – xperator

+0

'relative'在這種情況下會很好 - 只需對齊或向右移動即可。 –

+0

雖然有一個問題。如果我添加另一個輸入,圖標框將堅持第一個輸入https://jsfiddle.net/1bu0g76a/ – xperator