2011-08-14 140 views
3

我不是很擅長網頁設計,我創建了一個使用CSS的按鈕,但我不知道如何讓它在不同的瀏覽器中看起來相同。不能讓我的按鈕看起來在不同的瀏覽器相同

這是我使用的按鈕:

<input type="submit" class="randombutton" value="click here!"/> 

這是我創建的CSS:

.randombutton { 
    border-top: 1px solid #d1d425; 
    background: #e6eb4c; 
    background: -webkit-gradient(linear, left top, left bottom, from(#92b019), to(#e6eb4c)); 
    background: -webkit-linear-gradient(top, #92b019, #e6eb4c); 
    background: -moz-linear-gradient(top, #92b019, #e6eb4c); 
    background: -ms-linear-gradient(top, #92b019, #e6eb4c); 
    background: -o-linear-gradient(top, #92b019, #e6eb4c); 
    padding: 19px 38px; 
    border-radius: 40px; 
    color: white; 
    font-size: 23px; 
    font-family: Georgia, Serif; 
    text-decoration: none; 
    vertical-align: middle; 
    display: block; 
    margin-left: auto; 
    margin-right: auto; 
    } 
.randombutton:hover { 
    border-top-color: #c0df36; 
    background: #c0df36; 
    color: white; 
    } 
.randombutton:active { 
    border-top-color: #9eb829; 
    background: #9eb829; 
    } 

這是導致我在3個不同的瀏覽器獲得:

enter image description here

另外我想提一提的是,我不能將按鈕居中屏幕中間。

該按鈕應該看起來像用於Chrome瀏覽器的圖像。我會感謝一些幫助。

+3

是否需要__identical__看起來在每個瀏覽器? [強制性鏈接...](http://dowebsitesneedtolookexactlythesameineverybrowser.com/) – alexmuller

+0

@alexmuller:[來源請求] –

+0

@alexmuller是 – sfrj

回答

6

因爲互聯網瀏覽器< 9不知道圓角你不能在IE中做到這一點,因爲漸變更有可能你會在每個瀏覽器中得到不同的結果。

最好的做法是使圖像並添加自定義的設計,然後插入提交作爲圖像

<input type="image" name="submit" src="http://www.example.org/images/my_submit_button.png" value="click here!" /> 
+0

所以我將需要3圖像? 1爲按鈕,一個用於懸停,另一個用於點擊右鍵?確切地說, – sfrj

+1

。作爲IE壞的東西毀了所有的HTML –

+0

我會按照你的意見。謝謝:) – sfrj

2

圓角和漸變按鈕是很難做到跨瀏覽器,當你還必須照顧IE。

至於Firefox,只需添加-moz-border-radius: 40px;,使其看起來像在Chrome上。

對IE的漸變支持是通過DX圖像轉換完成的。

Cross Browser CSS Gradient舉例說明如何實現跨瀏覽器的漸變。

編輯:但是,Mihai是正確的,最好通過圖像而不是按鈕來實現結果,因爲它看起來不是引擎/瀏覽器相關的。

2

我會建議使用像http://border-radius.com/一個邊界半徑發電機來設置圓角,它會給你你錯過了多餘的值(注意順序是顯著):

-webkit-border-radius: 40px; 
-moz-border-radius: 40px; 
border-radius: 40px; 

由於讓它在不同瀏覽器上看起來相同,按鈕是一個痛苦的世界,所以你有兩個主要選項:

  1. 讓它在IE7和IE8中優雅地退化。也就是說,不要擔心角落不圓,你仍然會有一個綠色的按鈕。在良好的瀏覽器中,它會看起來更好一些;但是人們並不會真正關心,因爲普通用戶不會進行並行比較。
  2. 使用圖像。如果你需要(由客戶,老闆等)在瀏覽器上完成px完美的事情,我只會提出這個建議。

就我個人而言,我儘量避免重新設置窗體元素,因爲它昂貴(時間成本因爲很難做到)而且不可靠。讓他們獨立和用戶只是不注意到他們,這是很好的 - 他們是在網絡上把事情做完:)

+0

謝謝你的建議,我將繼續考慮到這一點,但IE瀏覽器,我認爲仍然是一個非常流行的瀏覽器:http://www.w3schools.com/browsers/browsers_stats.asp近1/4的用戶使用它。如果我看到我花了很多時間,我可能會堅持圖像。謝謝您的回答+1 – sfrj

+0

在這種情況下,關鍵是看對IE7和IE8與IE9的股份 - http://gs.statcounter.com/#browser_version-ww-monthly-201007-201107顯示IE9上的好上升趨勢和其他IE下降的趨勢非常明顯。 這個重要的原因是IE9具有良好的CSS支持,因此隨着時間的推移越來越多的人無論如何都會被獲得良好的效果。關鍵在於你可能會保持良好的選擇,而無需向你的頁面添加額外的圖像:) – BenB

相關問題