• css终极大全


       只要有不同的浏览器存在,或多不少的浏览器渲染方式就会有所差异,这是在所难免,很多人在写页面的时候,发现在FF下看的完全没问题,但是在IE6下一看全乱的没样了,此时就会说IE6真垃圾真坑爹,当年我也有这种想法,我也曾很气愤。

    但是随着东西做的越来越多,我发现其实IE6是过时了,但是真正来自于浏览器自身的bug其实不多,更多是来自于开发者 我们自身书写的不规范,我经常对身边的人说,IE6就像一个严厉的老师,你代码稍微有一点不合适,不恰当,一点点的偷工减料,她都不允许你通过!,而那些标准浏览器,更像是一个博爱的老师,你页面中出现的不规范,她不提醒你,而是通通为你包容,按照你希望的方式帮你展示出来。扯的有点远了~

      很多人在遇到“所谓”的bug,先是苦找一番,然后找不出真正地解决办法,找到了这边一改,IE6没问题了,标准的又不合适,这时候多数人就想到了hack 条件注释 等一堆东西,其实我不是很提倡大家用hack,毕竟虽然他解决了当前问题,但是他为日后埋下了隐患,因为你不清楚,哪天你写的这种代码在IE10 IE11下是不是更合适,而且hack都是无法通过Wc3认证的,其实如果我们平时善于去总结,我们会发现很多问题都是可以通过合理的代码编写解决的!

      我的目标就是希望我们写出的代码基本不用调BUG,那么就是要总结出来一套会在IE下出问题,同时避开这些问题的代码书写格式,我也在慢慢总结中,简单的我已经不愿意再去写了,写的都是不实际中遇到的-.-

    1、<input type="text"/>格式的输入框 和label对齐的写法

    为这种格式:<span class="box"><label>姓名:</label></span><input type="text" name="" class="name"/>
    css如下:
    .name{
    height: 26px;
    line-height:26px;
            vertical-align:middle;
    }
    .box{
    float:left;
    80px;
    line-height:30px;
    text-align:right;
    font-size:14px;
    height:30px;
    }
    其中为input左右padding任意添加 ,上下padding不要添加 ,直接用高度来写,然后用line-height使其居中。
    左侧的span取和右侧input相同的高度,然后设置line-height就可以保证在IE6-8和火狐标准浏览器下效果一致
    ps:值得注意的是 默认情况下
    firefox的input会自带2px的边框,所以在计算时我们要注意上下加上,当然也可以为input添加如下样式{border:1px solid #000},那么这样就上下左右均为1px了
    2、IE6、7下input 的按钮左右padding值会随着里面value的字符数被撑的很大,如果你设置过一个padding值  这个值会远远大于所设置的值,解决方法:
    input添加overflow:visible; 原因不明!
    3、如果文字被遮住一些,很大程度是外层没有设置行高,所以文字被顶上去了,目前在IE7下发现过这个问题
  • 相关阅读:
    Heritrix 3.1.0 源码解析(二十五)
    Heritrix 3.1.0 源码解析(二十八)
    获取某年某月的第一天和最后一天的Sql Server函数
    C# ToString()用法汇总
    数据库隐式类型转换
    sql server 中 SET identity_insert on
    Linq To DataTable
    ASP.NET Session详解[转载]
    CSS overflow 属性
    HTML相对路径(Relative Path)和绝对路径(Absolute Path)
  • 原文地址:https://www.cnblogs.com/caichongdd/p/2678760.html
Copyright © 2020-2023  润新知