zoukankan      html  css  js  c++  java
  • 从零开始学习前端开发 — 8、常见浏览器兼容性问题及图片整合技术

    一、常见浏览器兼容性问题

    1.双倍浮动bug描述:块状元素设置了float后,又设置了横向的margin,在IE6下显示的margin值要比设置的值大

    解决方案: 给float的元素添加display:inline;将其转换为行内元素

    2.表单元素行高不一致

    解决方案:

    方案一: 给表单元素添加 vertical-align:middle;

    方案二: 给表单元素添加 float:left;

    3.IE6不识别高度小于10px的容器

    解决方案:

    方案一: 给元素设置 overflow:hidden;

    方案二: 给元素设置 font-size:0;

    4.放在超链接中的图片默认有边框(在某些浏览器中)

    解决方案:

    给图片添加border:0;或border:none;

    5.IE6不识别min-height属性

    解决方案:

    方案一: min-height:100px; _height:100px;

    方案二: min-height:100px; height:auto!important; height:100px;

    6.图片默认有空隙

    解决方案:

    方案一:给img添加float属性 (适用于有多张图片在一行显示的情况)

    方案二:给img添加display:block; (适用于只有一张图片的情况)

    7.百分比bug

    描述:父元素宽度100%,子元素宽度50%,在IE6下50%+50%大于100%,右侧的子元素会掉下来

    解决方案:

    给右侧浮动元素清除右浮动 clear:right;

    8.IE浏览器不识别opacity属性

    解决方案:针对IE浏览器写透明度设置:

    filter:alpha(opacity=数值); (取值范围1-100)

    eg: .box{
    opacity:.6;
    filter:alpha(opacity=60);
    }

    9.鼠标指针bug

    描述:cursor的hand属性只有IE浏览器识别,其他浏览器不识别

    解决方案:

    使用cursor:pointer;IE6及以上浏览器和其他浏览器都识别

    注: cursor:pointer;是将鼠标指针的形状设置为手型

    10.按钮默认大小不一

    解决方案:

    方案一:用a标签模拟按钮

    方案二:如果按钮是一张图片,直接将图片作为按钮的背景图片插入即可

    11.上下margin重叠问题

    描述:当给上面元素设置margin-bottom,给下面元素设置margin-top,此时只能识别其中较大的那个值

    解决方案:

    方案一:margin-top和margin-bottom只设置其中的一个值

    方案二:给上面的元素外面包一个容器,并设置overflow:hidden;


     

    二、css hack

    1.概念:针对不同内核的浏览器出现的兼容性问题的处理方法就叫做css hack

    2.过滤器

    a)下划线属性过滤器语法: 选择器{_属性:属性值;}

    eg: .box{height:150px;_height:100px;}

    注:下划线属性过滤器只有IE6及以下版本识别,其他浏览器不识别

    b)!important关键词过滤器语法: 选择器{属性:属性值!important;}

    eg: .box{background:red!important;background:blue;}

    注:加!important的css属性优先级最高,但是IE6及以下版本的浏览器不识别

    c)*属性过滤器语法: 选择器{*属性:属性值;}

    eg: .box{background:blue;*background:pink;}

    注:*属性过滤器只有IE6,IE7识别,其他浏览器都不识别

    d) 9语法: 选择器{属性:属性值9;}

    注: 只有IE6,7,8识别,其他浏览器都不识别

    e) 语法: 选择器{属性:属性值;}

    注:IE8及以上浏览器识别,其他浏览器都不识别


     

    三、市场主流五大浏览器内核

    1.IE浏览器 内核: Trident(IE内核)

    2.Mozilla Fox(火狐) 内核:Gecko

    3.Safari(苹果浏览器),Chrome(谷歌浏览器) 内核:Webkit

    4.Opera(欧朋) 内核:Presto

    5.最新版本的chrome浏览器 内核:Blink

     


     

    附录:

    图片整合技术

    一、Css sprites(图片整合技术)

    概念:将多张背景图片整合到一张背景图中,通过background-position来实现背景图定位技术称为图片整合。

    我们也把图片整合技术叫做精灵图,雪碧图,滑动门技术。

    二、图片整合的优势(优点)

    1.将多张图片整合到一张图中,减少了对服务器的请求次数,减轻了对服务器的压力,加快了图片的加载速度。

    2.同时也减小了图片体积,达到了网站性能的优化。

    SEO优化

     SEO—搜索引擎优化分为站内优化和站外优化两个方面

    站内优化:

    1.页面标题优化:在head部分添加一个有意义的title标题

    2.页面头部优化:在head部分添加关键词和描述

    <meta name="keywords" content="" /> 关键词
    <meta name="description" content=""/> 描述

    3.超链接优化

    a)给a标签添加title属性

    b) 尽量避免将超链接放置在flash中,seo无法识别flash中的文字

    c) 尽量避免使用图片热点链接

    4.图片优化

    给img标签添加alt和title属性

    5.添加网站地图或网站导航

    可以让用户以最快的速度找到要浏览的内容

    6.给网站添加友情链接

    7.静态页面比动态页面更有利于搜索引擎优化

    注:随着搜索引擎的不断改进,搜索动态页面也会变得更加容易

    8.避免"大体积"的页面,代码结构合理清晰

    站外优化:

    百度推广

    网站流量分析

    网站品牌建设

    Get busy living or get busy dying
  • 相关阅读:
    AES加解密
    redis HyperLogLog使用
    vi常用操作
    redis string使用
    用jdk命令定位java应用问题
    用户态、内核态及零拷贝
    缓存穿透与雪崩
    ReentrantLock、Semaphore、AQS
    redis list使用
    不同数据库取并集、交集、差集
  • 原文地址:https://www.cnblogs.com/witkeydu/p/8179205.html
Copyright © 2011-2022 走看看