2012-04-10 120 views
0

我在IE7中遇到了一個簡單的問題。Html css IE7內聯塊

在FF和其他瀏覽器中,我沒有問題。

<form class="hotline_form"> 
    <fieldset> 
     <legend>TEST</legend> 
     <div class="field"> 
      <label class="question">Name:</label><input name="name" type="text"> 
     </div> 
     <div class="field"> 
      <label class="question">Username:</label><input name="name" type="text"> 
     </div> 
    </fieldset> 
</form> 

我的CSS樣式:

form.hotline_form{ 
    margin:0; padding: 0; 
} 
form.hotline_form fieldset{ 
    border: 0; 
    padding: 0; 
    margin: 25px 0 0 0; 
} 
form.hotline_form fieldset legend{ 
    width: 100%; 
    padding: 0px 0px 5px 0px; 
    margin: 5px 0px 5px 0px; 
    border-bottom: 1px solid #999; 
} 
form.hotline_form fieldset div.field label{ 
    display: inline-block; 
    width: 130px; 
    padding: 0pt 20px 0pt 0pt; 
    margin-top:5px; 
    vertical-align: top; 
    zoom:1; *display: inline; _height: 15px; /* IE7 fix*/ 
} 
form.hotline_form fieldset div.field input, form.hotline_form fieldset div.field select, form.hotline_form fieldset div.field textarea{ 
    width: 330px; 
    margin: 5px 0px 0px 0px; 
    padding: 1px 0px 1px 0px; 
} 
form.hotline_form div.submit{ 
margin: 40px 0 0; 
padding: 0 0 5px; 
width: 100%; 
} 
form.hotline_form div.submit input{ 
    float: right; 
    padding: 0px 7px 0px 0px; 
} 

注意修復我曾嘗試

zoom:1; *display: inline; _height: 15px; /* IE7 fix*/ 

我從http://flipc.blogspot.com/2009/02/damn-ie7-and-inline-block.html

在Firefox中顯示,像這樣:

enter image description here

和IE7:

enter image description here

+0

你有沒有嘗試刪除您的修復程序爲IE 7? IE 7默認支持'display:inline'元素的'inline-block',其中包括'

回答

1

我通常加載不同的.css文件的Internet Explorer,它讓我的代碼清潔:

<!--[if IE 7]> <link href="ie7.css" rel="stylesheet" type="text/css"> <![endif]--> 
<!--[if IE 8]> <link href="ie8.css" rel="stylesheet" type="text/css"> <![endif]--> 
0

看到這個很多的IE瀏覽器,它與IE瀏覽器如何格式化什麼代碼告訴它做

你最好的一個問題是使用使用JS以確定哪些瀏覽器正在運行再建一個用於IE的自定義樣式表。這裏有一些鏈接,以幫助

http://javascript.about.com/library/blbrsdet.htm

http://www.w3schools.com/js/js_browser.asp

祝您好運給你:)

+1

「最好的選擇是使用JS來識別正在運行的瀏覽器,然後爲IE構建一個自定義樣式表。」[實際上並非如此。](http://www.quirksmode.org/css/condcom.html) – 2012-04-10 12:50:46

+0

Works 100%對我很好 – 2012-04-10 12:51:49

+0

當然,但它是不必要的JavaScript,並且在JavaScript關閉時不起作用。 – 2012-04-10 12:54:13

0

我會給div.field溢出:隱藏,然後浮動:左;無論是標籤還是輸入,都要確保爲浮動元素使用邊距時,給它們一個顯示:inline;

沒有必要的黑客,適用於所有瀏覽器,您可以爲標籤和輸入設置高度和行高。