ここに表示されます: http://jsfiddle.net/USy5L/
CSS:
.upload {
display: inline;
margin: 0 auto 15px auto;
width: 400px;
height: 50px;
background: #fffbed;
border: 1px solid #efdec4;
border-radius: 5px;
-moz-box-shadow: 0px 2px 4px rgba(236, 229, 199, 0.3), inset 0px 0px 3px 1px rgba(236, 229, 199, 0.5);
-webkit-box-shadow: 0px 2px 4px rgba(236, 229, 199, 0.3), inset 0px 0px 3px 1px rgba(236, 229, 199, 0.5);
box-shadow: 0px 2px 4px rgba(236, 229, 199, 0.3), inset 0px 0px 3px 1px rgba(236, 229, 199, 0.5);
}
input[type="button"] {
width: 120px;
height: 50px;
float: right;
border: 1px solid #4b2218;
border-radius: 5px;
color: #fff;
font-size: 1em;
font-weight: bold;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
background: #a35a47; /* Old browsers */
}
.filename {
margin: 14px 0 0 14px;
color: #bf9e7b;
float: left;
font-size: 1.2em;
font-style: italic;
}
HTML:
<div class="upload">
<input type="button" value="Browse">
<span class="filename">No file selected</span>
</div>
何が間違っているのかわかりません。display:block を使用すると意図したとおりに完全に機能しますが、同じ行に別のボタンが必要なため、インラインにする必要があります。
インスペクターを使用すると、幅なしで表示され、親 div の幅を想定しています。ただし、幅を設定します。インライン要素で幅が設定されませんか?
どうすればいいですか?