2016-10-20 87 views
1

我在html頁面上爲我的視頻設置了一組自定義控件。它在Chrome中或多或少地顯示我想要的方式,但是當我在Edge或Firefox中查看它時,顯示的東西太高,不夠高,無法在完全錯誤的位置顯示。我已經花了一個週末的擊球部分試圖弄清楚這一點,我沒有運氣。這裏是他們的樣子的圖像:爲什麼在IE和Firefox和Chrome瀏覽器中html項目顯示不同?

What they look like

這裏是我當前的代碼:

<div id ="video-container"> 
        <video class = "jack7" width="450" height="230" id = "video"> 
        <source src="<?php echo($videourl); ?>" type="video/mp4"> 
        Your browser does not support this video. Try chrome! 
        </video> 
        <div id="video-controls"> 
        <button type="button" id="play-pause" ><img id = "playbtn" src="img/icons/play.png"></button> 
        <input type="range" id="seek-bar" step="0.01" value="0"> 
        <button type="button" id="mute"><img id = "mutebtn" src="img/icons/unmute.png"></button> 
        <input type="range" id="volume-bar" min="0" max="1" step="0.01" value="1"> 
        <button type="button" id="full-screen"><img id = "fsbtn" src="img/icons/fullscreen.png"></button> 
        </div> 

       </div> 

,這裏是我的CSS:

.jack7{ 
    margin-left: 0px; 
    margin-top: 0px; 
    margin-bottom: 0px; 
} 
#video-container { 
    margin-left: 234px; 
    margin-top: -150px; 
    margin-bottom: 30px; 
    width: 450px; 
    height: 230px; 
    position: relative; 
    background-color: #000000; 
} 

#video-controls { 
    background: linear-gradient(rgba(255,255,255,0),#222222); 
    position: relative; 
    margin-top: -31px; 
    opacity:0; 
    padding: 5px; 
    -webkit-transition: opacity .3s; 
    -moz-transition: opacity .3s; 
    -o-transition: opacity .3s; 
    -ms-transition: opacity .3s; 
    transition: opacity .3s; 


} 

#video-container:hover #video-controls { 
    opacity:.9; 
} 

button { 
    outline:none; 
    background: none; 
    border:0; 
    font: inherit; 
    line-height: normal; 
    overflow: visible; 
    padding: 0; 
    -webkit-appearance: button; /* for input */ 
    -webkit-user-select: none; /* for button */ 
     -moz-user-select: none; 
     -ms-user-select: none; 

} 

button:hover { 
    cursor: pointer; 
} 

#seek-bar { 
    outline:none; 
    width: 295px; 
    -webkit-appearance:none; 
    background:transparent; 

} 
#seek-bar::-webkit-slider-thumb{ 
-webkit-appearance:none; 
} 
#seek-bar::-webkit-slider-thumb{ 

    width:7; 
    height:5; 
    background:#FF6000; 
    outline:none; 
    cursor:pointer; 
} 
#seek-bar::-moz-range-thumb{ 
    -webkit-appearance:none; 
    width:7; 
    height:5; 
    background:#FF6000; 
    outline:none; 
    cursor:pointer; 
} 
#seek-bar::-ms-thumb{ 
    -webkit-appearance:none; 
    width:7; 
    height:5; 
    background:#FF6000; 
    outline:none; 
    cursor:pointer; 
} 
#seek-bar::-webkit-slider-runnable-track{ 
    cursor:pointer; 
    height:5; 
    background:#8C8C8C; 

} 
#seek-bar::-moz-range-track{ 
    cursor:pointer; 
    height:5; 

    background:#8C8C8C; 
} 
#seek-bar::-ms-track{ 
    cursor:pointer; 
    height:5; 
    background:#8C8C8C; 
} 
#seek-bar::-ms-fill-lower{ 
    background:#FF9B2F; 
    height:5; 
} 
#seek-bar::-ms-fill-upper{ 
    background:#8C8C8C; 
    height:5; 
} 


#volume-bar { 
    outline:none; 
    width: 60; 
    -webkit-appearance:none; 
    background:transparent; 

} 
#volume-bar::-webkit-slider-thumb{ 
-webkit-appearance:none; 
} 
#volume-bar::-webkit-slider-thumb{ 

    width:7; 
    height:5; 
    background:#FF6000; 
    outline:none; 
    cursor:pointer; 
} 
#volume-bar::-moz-range-thumb{ 
    -webkit-appearance:none; 
    width:7; 
    height:5; 
    background:#FF6000; 
    outline:none; 
    cursor:pointer; 
} 
#volume-bar::-ms-thumb{ 
    -webkit-appearance:none; 
    width:7; 
    height:5; 
    background:#FF6000; 
    outline:none; 
    cursor:pointer; 
} 
#volume-bar::-webkit-slider-runnable-track{ 
    cursor:pointer; 
    height:5; 
    background:#8C8C8C; 

} 
#volume-bar::-moz-range-track{ 
    cursor:pointer; 
    height:5; 
    background:#8C8C8C; 
} 
#volume-bar::-ms-track{ 
    cursor:pointer; 
    height:5; 
    background:#8C8C8C; 
} 
#volume-bar::-ms-fill-lower{ 
    background:#FF9B2F; 
    height:5; 
} 
#volume-bar::-ms-fill-upper{ 
    background:#8C8C8C; 
    height:5; 
} 

我真的希望有人能幫助我弄清楚爲什麼他們在各種瀏覽器中顯示不同。謝謝。

+0

請提供您的「DOCTYPE」規格,因爲每個規格都會根據瀏覽器供應商和版本的不同而呈現。例如IE有一個'quirks模式',它可以在html不符合規範時轉換到其他設計方面。 https://en.wikipedia.org/wiki/Quirks_mode – fyrye

+0

@fyrye doctype是什麼意思? – Jack

+0

它在鏈接中有描述,但是當你使用'video'標籤時,我認爲'<!DOCTYPE html>'是在頁面頂部指定的。我想確保它是,並且您沒有指定不同的規範,例如'<!DOCTYPE html PUBLIC「 - // W3C // DTD XHTML 1.0 Transitional // EN」>'代替。 – fyrye

回答

0

這可能是由於瀏覽器的默認樣式略有不同。

一個非常簡單的解決方案是將Reset包含在您的項目中,該項目旨在消除任何瀏覽器特定的樣式併爲您提供一張乾淨的工作表。

如果這樣不能解決問題,取決於您想要退回多遠,我建議使用Flexbox。

Flexbox處理您想要製作的佈局,使其在任何不需要大量向後兼容性的項目中都能使用。

+1

這不僅僅是不同的風格,而是瀏覽器具有完全不同的渲染引擎。 – Mike

0

責怪每個框架和瀏覽器特定樣式使用的邊框模型。如果他們實際上就一套規範達成一致,那麼我們就不必爲跨瀏覽器兼容性的惡夢而戰。

+0

他們在標準模式下做。 –

相關問題