今天老邹我又要吐槽IE7了,这个奇葩浏览器总是不让省心。这回遇到的问题,灰常难发现是怎么回事,不过还是让我发现原因,哈哈,只要原因去干掉这个问题比躲避问题用别的办法绕开要爽的多啊。

首先我还是介绍下,通常我们的网页里会有文章列表或帖子列表等模块,当然还有其他的一些也会涉及这些,我主要说一说大家常常出现的情况。老邹我在这里就用文章列表举例说明。文章列表往往是每一个项里有文章标题、描述、作者和时间等等。长什么样子呢?

请看下图:

上面这个是我想要的效果。

但是我出现什么问题了?大家再看下图:

看到没,在逆天的IE7模式下,居然出现横向滚动条了。让我非常不理解,我怎么得罪他了,他偏偏这么对待我。经过我和他数小时的对战,我终于知道他的弱点了。

起初我找原因。用F12调试。找了半天,没有找到到底是哪里超出了。难道有个幽灵在旁边,这不科学。

(。。。。。此处经过省略1w字。。。。。)

最后我把每个右下角的时间去了。我靠,居然正常了。原来是我的时间考的鬼,这为毛啊?我于是再次询问我又爱又恨的度娘。找到了一篇文章就是这个地址,有空大家可以去看看,没空就算了(文章地址:http://talkser.blog.163.com/blog/static/206457252201282555732752/)

大概意思是说浮动定位要给浮动元素具体的宽度,不然会有默认值去影响,去超出。

我想了想,我这里的时间没有给宽度,那就给一个吧。不错,他正常了,于是我以为浮动元素和绝对定位元素都要给宽度,不然会影响。反正是解决了。

(虽然解决了,但是还是心里不舒服)

可是我转头想了想。如果我换了一个标签会怎样,(这里和大家说明一下:我的时间通常用<i>标记表示。他默认是斜体。)于是我把 <i>标签换成了<span>标签。居然没有任何异常。看来不是浮动定位和绝对定位的原因。我想到:这两个奇葩标签都是行内标记,唯一的区别就是<i>标记的字体是斜的,那好办,我把<span>标记描述成斜体,如果有问题,那么就是这个斜体的问题。起初我就是无聊想试试,认为不可能是斜体的原因。可是,后面发生的事情,我和我的小伙伴们都惊呆了,改成斜体后,横向滚动条出来了,IE7,你的节操何在啊?

原来搞了半天是这个原因。

所以解决办法也有。有两种。

第一:如果你要保留斜体,那么就给你的标记加上一个固定高。

第二:如果不要斜体,那么就加上font-style:normal;就好了。

当然我还是用的在浮动定位里套的绝对定位。这样可以准确和简单定位。

我另外也弄了几个注释,大家可以试一试,IE7的调试真的很有意思哦。希望大家多多分享你的问题。

具体代码如下:

 <!DOCTYPE html>

 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
} .clear {
clear: both;
} .main {
width: 1100px;
margin: 20px auto;
border: 1px solid red;
padding-bottom: 10px;
} .main .block {
width: 495px;
height: 100px;
margin: 10px 0 0 30px;
padding: 5px;
background: #eee;
float: left;
position: relative;
} .main .block h3 {
margin: 8px 0 0 8px;
} .main .block h3 a {
font-family: 微软雅黑;
font-size: 16px;
text-decoration: none;
} .main .block p {
font-family: 微软雅黑;
font-size: 14px;
text-indent: 2em;
color: gray;
} .main .block span {
position: absolute;
right: 0px;
bottom: 0px;
font-family: Arial;
font-size: 12px;
color: #666;
font-style: italic; /*如果不用斜体,改成normal,也不用下面的宽度了*/
width: 100%; /*如果保留斜体,请给一个具体宽度*/
} /*.main .block i {
position: absolute;
right: 0px;
bottom: 0px;
font-family:Arial;
font-size:12px;
color:#666;
}
这里是i标记,可以和span替换的玩一玩
*/
</style>
</head>
<body>
<div class="main">
<div class="block">
<h3><a href="#">我是文章的标题哦</a></h3>
<p>
我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦...
</p>
<span>2014-4-14</span>
<!--<i>2014-4-14</i>-->
</div>
<div class="block">
<h3><a href="#">我是文章的标题哦</a></h3>
<p>
我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦...
</p>
<span>2014-4-14</span>
<!--<i>2014-4-14</i>-->
</div>
<div class="block">
<h3><a href="#">我是文章的标题哦</a></h3>
<p>
我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦...
</p>
<span>2014-4-14</span>
<!--<i>2014-4-14</i>-->
</div>
<div class="block">
<h3><a href="#">我是文章的标题哦</a></h3>
<p>
我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦...
</p>
<span>2014-4-14</span>
<!--<i>2014-4-14</i>-->
</div>
<div class="block">
<h3><a href="#">我是文章的标题哦</a></h3>
<p>
我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦...
</p>
<span>2014-4-14</span>
<!--<i>2014-4-14</i>-->
</div>
<div class="block">
<h3><a href="#">我是文章的标题哦</a></h3>
<p>
我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦,我是文章的描述哦...
</p>
<span>2014-4-14</span>
<!--<i>2014-4-14</i>-->
</div>
<div class="clear"></div>
</div>
</body>
</html>

为本人原创,在此发表。

如有问题可以与本人联系

邹学良  Terry Zou

QQ:1526348043

新浪微博:http://weibo.com/coolsbook

腾讯微博:http://t.qq.com/CoolsBook

更多关注请访问:http://www.coolsbook.com

原文地址:http://www.coolsbook.com/Post/p/165

逆天的IE7中,诡异的横向滚动条的更多相关文章

  1. 逆天的IE7中,绝对定位元素之间的遮盖问题

    个人比较支持IE9以上的版本,认为他们的样式和效果都是比较人性化的,不过很多时候还是不得不考虑其他版本浏览器的感受,这里IE6就不用考虑他了,这货简直就是IT史上的奇葩,这里要说一个IE7的绝对定位和 ...

  2. IE6下出现横向滚动条问题的解决方案

    当我们在css样式设置为html {overflow-y:auto;}时,在ie7以上版本应用时不会有问题,可是在ie6下就会发现垂直滚动条出现会引起横向滚动条出现.究其原因是在ie6下,当内容过多出 ...

  3. android 横向滚动条

    /*** * 横向滚动条,修改版,从左向右滚动,支持html代码和html里面的网络图片 */public class MarqueeView extends LinearLayout { priva ...

  4. DataGrid横向滚动条无法拖动的问题

    项目中经常遇到一些问题,这些问题可能很简单,但是之前从未遇到,可能经过了一番谷歌,也可能是查阅了MSDN,或是借鉴了大牛博客,逐渐有了些眉目,为了将这些东西落地,也为了将来之不易的东西记录下来,以备今 ...

  5. 发掘ListBox的潜力(一):自动调整横向滚动条宽度

    <自绘ListBox的两种效果>一文帖出之后,从反馈信息来看,大家对这种小技巧还是很认同.接下来我将继续围绕ListBox写一系列的文章,进一步发掘ListBox的潜力,其中包括:自动调整 ...

  6. VB ListBox 添加横向滚动条

    Private Declare Function SendMessage Lib "user32 " Alias "SendMessageA" (ByVal h ...

  7. table左边固定-底部横向滚动条

    是日有需求,曾探讨过table表单头部.尾部固定不动,中间内容随着滚动条的滚动而变化. 整合资料之际,发现有很多表格,表单展现中,横向数据很多.很长,不方便查看. 则,横空霹雳出了,此款:table表 ...

  8. flex布局下el-table横向滚动条失效

    如下图,是一种常见的页面结构,我们可以有很多方法实现,inline-block,float,flex等等 但是,最近项目中遇到一个怪事,左边是侧边栏导航,右边是一个数据展示table,el-table ...

  9. 1.横向滚动条,要设置两个div包裹. 2. 点击切换视频或者图片. overflow . overflow-x

    1.横向滚动条. div.1 > div.2 > img img  img 第一: 设置 div.1 一个固定的宽度 和高度  . 例如宽度 700px;  高度是 120px; 设置 o ...

随机推荐

  1. Keil C51里面lib文件生成和调用方法

    一.包含关系 LCD1602.C里面包含LCD1602.H LCD1602.H的文件格式 二.设置生成lib文件 三.Lib文件调用 添加lib文件对话框 添加后的lib文件 呵呵^_^,这样就可以删 ...

  2. SQL Standard Based Hive Authorization(基于SQL标准的Hive授权)

    说明:该文档翻译/整理于Hive官方文档https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authori ...

  3. chrome性能测试框架webpagereplay

    今天学习了下chrome的性能测试框架,其实它可用于在稳定的环境下测试浏览器向服务器发起http请求至下载请求文档到本地的这个过程.好处在于,其原理在于先将第一次请求回来的文档下载在本地,然后在本地模 ...

  4. html自定义提示框

    自定义html提示框比较令人困惑的就是编写三角形的样式:以前的实现方式是在标签内使用span标签来实现.不过现在有了css提供的两个为类:before,:after之后,可以不用再内置span标签了: ...

  5. c++对象模型之Data布局

    Data语意学 class X{}; class Y : publicvirtual X {}; class Z : publicvirtual X {}; class A : publicY, pu ...

  6. python network programming tutorial

    关于网络编程以及socket 等一些概念和函数介绍就不再重复了,这里示例性用python 编写客户端和服务器端. 一.最简单的客户端流程: 1. Create a socket 2. Connect ...

  7. JSP具体篇——out

    out对象 out对象用于在web浏览器上输出信息,而且管理应用server上的输出缓冲区.在使用out对象输出数据时.能够对数据缓冲区进行操作.及时清除缓冲区中残留的数据.为其它输出让出缓冲空间. ...

  8. 1629 - Cake slicing(DP)

    花了近2个小时终于AC,好爽.. 一道类似于最优矩阵链乘的题目,受<切木棍>那道题的启示,该题的原理也是一样的,仅仅只是变成了且面积.那么对应的也要添加维度 . 显然要完整的表示状态,最少 ...

  9. linux怎么给一个普通用户reboot权限?

    分四种情况讨论:1.让任何人(包括根本不拥有系统帐号的人)都可以通过控制台reboot在/etc/inittab文件中保留ca::ctrlaltdel:/sbin/shutdown -t3 -r no ...

  10. Linux下查看显示器输出状态以及修改显示器工作模式(复制 or 扩展)

    //关闭显示器VGA1xrandr --output VGA1 --off //开启显示器VGA1xrandr --output VGA1 --auto //关闭显示器LVDS1xrandr --ou ...