2016-04-15 8 views
2

Chromeの下で正しく表示されないテキストボックスとボタンの位置に問題があります。Google Chrome(テキストボックスとボタン)のCSSの問題

ここでは、各ブラウザの例を示します。Chromeの下にあるテキストボックスが非表示になっていることがわかります。

のInternet Explorer/Firefoxの

Internet Explorer

クローム

Chrome1

HTML:

<div id="divSearch"> 
    <input type="text" id="txtSearch" placeholder=" Search..."/> 
    <input type="submit" id="btnSearch" value=""/> 
</div>` 

CSS:

input[type=text]{ 
    width: 200px; 
    height: 24px; 
    border: none; 
    border-radius: 3px 0px 0px 3px; 
    -webkit-border-radius: 3px 0px 0px 3px; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    padding: 0; 
} 

input[type="submit"]{ 
    border: none; 
    border-radius: 0px 3px 3px 0px; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    -webkit-border-radius: 0px 3px 3px 0px; 
    width: 32px; 
    height: 24px; 
    background: url(../img/search_button.png) no-repeat; 
    background-color: white; 
    background-position: 10px 5px; 
} 

#divSearch{ 
float: right; 
width: 300px; 
height: 40px; 
white-space: nowrap; 
margin-right: 50px; 
} 

ここで、高さをinput[type="submit"]から削除すると、ボタンのサイズが間違っていることを除いて、位置付けが正しくなります。

Chrome2

ボタンの高さが問題を引き起こし、なぜ私がうまくできません。どのようにそれを修正するためのアドバイス?

ありがとうございました

+0

[HTML入力ボタンcss-heightはSafariとChromeで動作しません](http://stackoverflow.com/questions/12450776/html-input-button-css-height-not-working-on-safari) - と - クロム) –

答えて

3

次のコードを追加してください。それは動作するはずです:

input[type=text]{ 
    float:left 
} 
input[type=text]{ 
    float:left 
} 
+0

それは完璧に働いた、そのような簡単な修正ありがとうございました。浮遊物がなぜ助けになったのか知っていますか? – user2168287

+0

フローティングルールによれば、要素をフローティングしている場合、各要素はフローティングする必要があります。 #divSearchのみのフローを使用し、要素を入力しないようにしました。とにかく、これはfloatを使って問題を解決するための1つのトリックでした。 –

0

これを解決するには、ボタンの値を空にしてください。

<input type="submit" id="btnSearch" value="&nbsp;"/> 

原因はボタンにテキストベースラインがないことです。

関連する問題