代码之家  ›  专栏  ›  技术社区  ›  Paul

选择菜单上的IE8和边框css属性

  •  3
  • Paul  · 技术社区  · 16 年前

    在IE中查看由IIS提供的一段非常简单的HTML时,我的行为非常奇怪。我无法解释这一点。。。

    以下面的html为例

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    
    <html>
      <head>
        <style>
          .iWantaBorder
          { 
            border:red solid 1px ;  
          }
        </style>
      </head>
      <body>
        <select class="iWantaBorder">
      <option>1</option>
        </select>
      </body>
    </html>
    

    另存为html文件到桌面。 在IE8中查看时,选择菜单具有红色边框。

    现在将文件复制到IIS 5.1或IIS6中的网站或虚拟目录。

    浏览到IE8中的那个文件。。。没有红边。

    4 回复  |  直到 16 年前
        1
  •  6
  •   Dave Markle    9 年前

    试着把这个放在你的头上:

    <meta http-equiv="X-UA-Compatible" content="IE=edge" >
    

    http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx

        2
  •  2
  •   jerjer    16 年前

    这可能会解决问题:

     <style type="text/css">
          .iWantaBorder
          { 
            border:solid 1px red;
            display:inline-block; /*this should fix the bottom and right border*/
          }
    </style>
    

    编辑:

    如果您使用的是IE8标准/兼容模式,那么它在IE7标准/QuirksMode上工作,但在IE7标准/QuirksMode上不工作,不知道为什么它在IE7标准/QuirksMode上不工作。

    无论如何,另一种解决方法是用另一个内联元素包装select元素,并将边框放在包装器元素上。

    <span class="iWantBorder">
       <select>
          <option>Sample Option</option>
       </select>
    </span>
    
        3
  •  -1
  •   Ben Everard    16 年前

    试试这个:

    border: 1px solid red;
    

    border shorthand syntax 应该是重量、款式、颜色。您的顺序似乎有误。

        4
  •  -1
  •   Jonas G. Drange    13 年前

    如果希望开发自定义选择框以在所有浏览器中一致显示,则由于表单控件的缘故,边框不会显示在IE8中。

    怪癖模式只是文档类型声明,如果在文档类型中使用strict.dtd,它将始终以标准模式呈现。

    表单控件(单选按钮、复选框、选择框和下拉列表)始终根据操作系统和浏览器进行渲染,除非开发自定义控件。