2011-10-30 16 views
0

Chromeには、Firefoxに比べてぼんやりと見えるボタンがウェブサイトにあります。
ボタンのHTMLは次のようになります。私はこの権利をやっているかはわからないブラウザに応じてCSSファイルのセクションを読み込みます。

.boton { 
    font-size: 17px; 
    color: #000; 
    background: #ee3333; 
    background: rgba(225, 50, 50, 0.6) !important; 
    font-family: lucida console; 
    border: 1px solid #FF4444; 
    padding: 2px; 
    -moz-border-radius: 7px; 
    border-radius: 7px; 
    cursor:pointer; 
} 
.chrome .boton 
{ 
    padding: 5px !important; 
} 


<button name="shutdown" type="submit" value="df" class="boton"> Press </button>

のように私のCSSの試行が見えます。 ".boton"は実際にボタンのスタイルを変更しますが、Chromeではパディングは変更されません。ここで何が間違っていますか?

答えて

0

要素にパディングが適用されない理由は、いずれの要素にも割り当てられているchromeクラスがないためです。特定のベンダー固有のスタイルについてはさまざまなハックがありますが、this articleを参照してください。ブラウザーには.chromeまたは.mozなどのクラスが適用されません。

しかし、より水平なパディングを実現するには、-webkit-padding-start(パディング左)と-webkit-padding-end(パディング右)を使用できます。現在、私は完全なパディング、またはこれらのための垂直パディングがまだあるとは思わない。 、またはいずれかのルールを使用する場合は、paddingルールの後に必ず入力してください。それ以外の場合は後者が前者を上書きし、両方が失われます。

+0

私は自分がやったことも変わったと思っていましたが、私はこの記事から得ました。http://rafael.adm.br/css_browser_selector/と彼のデモが動作します。 – dukevin

+0

nevermind、私はトップにjavascriptコードが必要であることを読んでいない – dukevin

0

あなたがクラス.chromeなどを本体に追加するブラウザスニッフィングを追加していない限り、そのクラスは効果がありません。

一方、FirefoxとChromeのボックスモデルは大きく異なるわけではありませんが、パディング、枠線、余白などのデフォルトは異なる場合があります。これらの値を明示的に設定するだけで、同じようにレンダリングする必要があります(丸め誤差が異なるため、ピクセルを数えたり取ります)。各ブラウザにカスタムCSSを追加する必要はありません(ただし、-moz-border-radius-webkit-border-radiusなどの実験的なCSS機能をベンダープレフィックスと併用する場合は、すべてを同時に使用する必要があります。 IE(インターネットエクスプローラ)

異なるバージョンが根本的に異なるのボックスモデルを持っている、とあなたはIE固有のCSSオーバーライドを含めるようにconditional commentsを使用する必要があり、標準のCSSで正しく何かをレンダリングするためにIEのいくつかのバージョンを取得することができない場合メインのCSSファイルの後。

関連する問題