2011-02-17 43 views
0

我有一些麻煩與我在IE8的網站的CSS。所討論的CSS應該在標有class="error"的輸入元素周圍繪製一個2像素的紅色邊框。它對頁面上的某些輸入元素按預期工作,但對其他人而言,它會在元素周圍繪製2px的白色邊框。如果我從輸入元素中刪除display: table-cell屬性,那麼它們都可以正常工作。 CSS在我嘗試過的所有其他瀏覽器(FF3,Chrome,Opera)上按預期工作。兩種工作投入要素和非工作因素如下 -爲什麼我的CSS有時在IE8中工作,而不是其他時間?

我複製並粘貼頁面的DOM樹和CSS的相關部分 - 通過IE8的開發者工具窗口中顯示。我無法弄清楚他們之間有什麼不同。誰能幫忙?

謝謝。

DOM樹

<form> 
    <div class="table" id="contact_info"> 
     <div class="row" id="email"> 
      <label for="email_text"> 
       Text - E-Mail Address 
      Text - Empty Text Node 
     <!-- this input element doesn't show the correct border color --> 
      <input name="email" class="error" id="email_text" type="text" AUTOCOMPLETE="OFF" value="invalid address"/> 
      <label class="error" for="email_text" generated="true"> 
       Text - Please enter a valid e-mail address 
      Text - Empty Text Node 
     <div>... 
    <div class="table" id="security_info"> 
     <div class="row" id="password_conf"> 
      <label for="password_conf_text"> 
       Text - Re-type Your Password 
      Text - Empty Text Node 
     <!-- this input element does show the correct border color --> 
      <input name="password_conf" class="error" id="password_conf_text" type="password" value="nomatch"/> 
      <label class="error" for="password_conf_text" generated="true"> 
       Text - Please enter the same value again. 
      Text - Empty Text Node 

**輸入#EMAIL_TEXT(不工作)**的CSS

inherited - body 
    BODY 
     text-align: center 
     font-family: Arial, Helvetica, sans-serif 
     font-size: 12pt 
inherited - div 
    #container 
     text-align: left 
FORM .row > * 
    margin: 3px 0px 
    display: table-cell     // if I turn this off, then the borders work 
    vertical-align: top 
INPUT.error 
    border-bottom: red 2px solid 
    border-left: red 2px solid 
    border-top: red 2px solid 
    border-right: red 2px solid 
INPUT[type='text'] 
    font-family: Arial, Helvetica, sans-serif 
    font-size: 12pt 
INPUT[type='text'] 
    width: 175px 

**輸入#password_conf_text(工作)的CSS **

inherited - body 
    BODY 
     text-align: center 
     font-family: Arial, Helvetica, sans-serif 
     font-size: 12pt 
inherited - div 
    #container 
     text-align: left 
FORM .row > * 
    margin: 3px 0px 
    display: table-cell 
    vertical-align: top 
INPUT.error 
    border-bottom: red 2px solid 
    border-left: red 2px solid 
    border-top: red 2px solid 
    border-right: red 2px solid 
INPUT[type='text'] 
    font-family: Arial, Helvetica, sans-serif 
    font-size: 12pt 
INPUT[type='text'] 
    width: 175px 
+3

閱讀只是標題後,我對自己說,「因爲這是互聯網爆」。 – zzzzBov 2011-02-17 17:01:17

+0

我只是想知道(真的只是出於好奇),爲什麼你,如果我看到所有的div類「表」和「行」不使用表。 – 2011-02-17 17:11:19

回答

1

您在每個屬性行的末尾缺少分號a nd括號在開始和結束。如form { border:none; color: #333 }

0

你試過.error在你的css中不是FORM.error

相關問題