代码之家  ›  专栏  ›  技术社区  ›  Shea Daniels

IE7中的呈现问题

  •  0
  • Shea Daniels  · 技术社区  · 17 年前

    我对IE7有一点渲染问题(和往常一样)。假设有一个像这样的日历控件:

    <div class="calPager">
        <input type="submit" name="prev" value="Prev" class="pagerPrev" />
        <input type="submit" name="prev" value="Next" class="pagerNext" />
        August 2009
    </div>
    

    CSS如下所示:

    .calPager {
        text-align: center;
        height: 30px;
        line-height: 30px;
    }
    
    input.pagerPrev, input.pagerNext {
        height: 30px;
        text-decoration: none;
        border: none;
    }
    
    input.pagerPrev {
        float: left;
        padding-left: 28px;
        background: url(../images/calPrevArrow.png) no-repeat;
    }
    
    input.pagerNext {
        float: right;
        padding-right: 28px;
        background: url(../images/calNextArrow.png) right no-repeat;
    }
    

    在ie8和firefox中,这个看起来很好,按钮在左边和右边浮动,月份和年份居中。但IE7没有将文本居中。这里怎么了?

    有趣的是,如果您用链接替换输入元素(就像我在另一个项目中所做的那样),这些东西在IE7中都会显示得很好。

    另一个小问题是,IE开发人员的工具不知怎么地停止了识别除第一个CSS文件以外的所有文件,所以这没有多大帮助。CSS选项卡似乎卡在“正在加载…”上。有人也遇到这个问题吗?

    2 回复  |  直到 17 年前
        1
  •  3
  •   Sir David of Lee    17 年前

    如果您用自己的块级标签包装月份和年份,它在IE7中应该可以正常工作。

    <h2>August 2009</h2>
    

    使用IE7,当浮动元素和非浮动元素都在同一行上时,读取任何类型的文本对齐都会出现问题。

    我会把它放在某个DIV的头标记中,因为它赋予它更多的意义和目的。div只是块级标签,header标签如h2是块级,搜索引擎看到它们包含重要信息!

        2
  •  0
  •   Myra    17 年前

    尝试将所有输入放在单独的容器中浮动

    <div class="calPager">
       <div class="container">
           <div class="floatleft">
               <input type="submit" name="prev" value="Prev" class="pagerPrev" />
           </div>
           <div class="floatright">
               <input type="submit" name="prev" value="Next" class="pagerNext" />
           </div>
       </div>
    </div>
    
    .container{
        margin-left:auto;
        margin-right:auto;
        width: .. (if you like);
        /**/
    }
    
    .floatleft { 
        float:left;
    }
    
    .floatright {
        float:right;
    }