簡體   English   中英

列表背景顏色在 IE7 中搞砸了

[英]list background colour screwed up in IE7

我在 Firefox 中設置了一些無序 HTML 列表及其標題的樣式:

替代文字 http://img24.imageshack.us/img24/711/screenshot001nij.png

不幸的是,在 IE7 中,它們看起來像這樣:

替代文字 http://img11.imageshack.us/img11/8343/screenshot002e.png

相關的 HTML 是

<div class="list-column">
    <h4>Types de pêche</h4>
    <ul>
        <li>Pêche en lac</li>
        <li>Pêche en Rivière</li>
    </ul>
</div>

CSS 是:

.list-column {
  float: left;
  margin-right: 20px;
  width: 20em;
}

div.list-column h4 {
  background-color: #FDD041;
  padding: 5px !important;
}

ul li {
  background-image: url(images/arrow.gif);
  background-position: 0 11px;
  background-repeat: no-repeat;
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
  margin-bottom: 6px;
  margin-left: -20px;
  margin-top: 2px;
  padding: 2px 0 2px 18px;
}

我懷疑包含列表的 div 向左浮動的事實可能是我問題的根源,但我不確定如何解決 IE7 中顯示不佳的問題?

更新:我嘗試向 'ul' 元素添加一個 'zoom: 1' 屬性,以查看給元素 'layout' 是否可以解決 IE 中的問題,但它沒有。

問題絕對與圓角無關。 我暫時關閉了它們,但它並沒有改變 IE 中的任何東西(除了角落的外觀)。

謝謝,唐

IE 和其他瀏覽器有不同的默認樣式表。

IE 通過在 <ul> 上放置“margin-left”來縮進列表項。 其他瀏覽器在 <ul> 上放置了一個'padding-left'。

因此,如果您想在所有瀏覽器中看起來都一樣,請在 <ul> 上顯式設置 'margin-left' 和 'padding-left'。 在您的情況下,您需要添加類似“margin: 0; padding: 24px” 在你的“div.list-column ul, ul.round” 規則。

(IE 中的默認列表 'margin-left' 准確地說是 '30pt'。)

一個常見的解決方案是設置元素的寬度。 這將使 IE 的所有內容都在該寬度的范圍內。

我認為這是 IE-7 自動縮進 li 最簡單的調試方法是安裝 IE-8; 切換到兼容的 ie-7 模式。 然后從工具菜單啟動開發者工具

然后,您可以檢查各個元素並檢查是否應用了隱藏的填充或邊距

我認為它可能取決於 ie 和 firefox 上的不同默認填充。 如果您還沒有這樣做,請嘗試在您的代碼中使用 reset.css。

Ps 在 ie8 中你有類似於 firebug 的開發者工具。 嘗試使用它們,看看您是否無法理解問題...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM