从零开始学习前端开发 — 7、常见浏览器兼容性问题及图片整合技术

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

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) \0

语法: 选择器{属性:属性值\0;}

注: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.避免"大体积"的页面,代码结构合理清晰

站外优化:

百度推广

网站流量分析

网站品牌建设

原文地址:https://www.cnblogs.com/witkeydu/p/8179205.html

时间: 2024-12-13 14:26:57

从零开始学习前端开发 — 7、常见浏览器兼容性问题及图片整合技术的相关文章

web前端开发中的浏览器兼容性总结

1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果div里的实际内容大于所设高度,在FF中会出现两个div重叠的现象:但在IE中,下面的div会自动给上面的div让出空间所以为避免出现层的重叠,高度一定要控制恰当,或者干脆不写高度,让他自动调节,比较好的方法是 height:100%;但当这个div里面一级的元素都float了的时候,则需要在div块的

从零开始学习前端开发 — 6、CSS宽高自适应

一.宽度自适应 语法:width:100%; 注: a)块状元素的默认宽度为100% b) 当给元素设置宽度为100%时,继承父元素的宽度 c) 通常使用宽度自适应实现通栏效果 二.高度自适应 语法:height:auto;(等同于不给元素设置高度) 三.最小高度,最大高度,最小宽度,最大宽度 1.最小高度 语法: min-height:数值+单位; 注:IE6不识别min-height属性,解决方案如下: 方案一: min-height:100px; _height:100px; 方案二: m

从零开始学习前端开发 — 5、CSS布局模型

一.css布局模型 1.流动模型(Flow) 元素在不设置css样式时的布局模型,是块元素就独占一行,是内联元素就在一行逐个进行显示 2.浮动模型(Float) 使用float属性来进行网页布局,给元素设置float后会脱离正常的文档流 3.层模型(Layer) 使用position属性对元素进行定位设置 二.定位 语法:position:static(默认值)|absolute(绝对定位)|relative(相对定位)|fixed(固定定位); 1.绝对定位 语法: position:abso

从零开始学习前端开发 — 12、CSS3弹性布局

一.分栏布局 1.设置栏数 column-count:数值; 2.设置每栏的宽度 column-width:数值+单位; 注:当设置了column-width,column-count会失效,二者设置其一即可 3.设置栏间距 column-gap:数值+单位; 4.设置栏间隔线 column-rule:5px solid|dashed|dotted black; 5.设置是否跨栏显示 column-span:all(跨栏)|none(不跨栏); 注:a)给需要跨栏显示的元素设置该属性 b) 该属

从零开始学习前端开发 — 3、CSS盒模型

★  盒子模型 (标准的盒模型) css盒模型的概念及组成 css盒模型是css的基石,每个html标签都可以看作是一个盒模型. css盒模型是由内容(content),补白或填充(padding),边框(border),外边距(margin)四部分组成(具体如图所示) 1.内容(content) 宽度 width:数值+单位; 高度 height:数值+单位; eg: .box{width:200px;height:100px;} 2.补白或填充 (设置内容和边框之间的距离) 语法:paddi

从零开始学习前端开发 — 15、CSS3变形基础过渡、动画

一.css3过渡 语法: transition: 过渡属性 过渡时间 延迟时间 过渡方式; 1.过渡属性(transition-property) 取值:all 所有发生变化的css属性都添加过渡 eg: transition: all 1s; ident 指定要过渡的css属性列表 eg: transition:border-radius 1s,background 2s; none 没有属性发生过渡 注:我们可以省略滑过状态或其他状态的过渡属性,但是不能省略初始状态的transition属性

从零开始学习前端开发 — 17、CSS3背景与渐变

一.css3背景切割: background-clip:border-box|padding-box|content-box; 作用: 用来设置背景的可见区域 a) border-box 默认值,背景在边框及边框以内的区域可见 b) padding-box 背景在padding及padding以内的区域可见 c) content-box 背景在content区域可见 二.背景原点: background-origin:padding-box|border-box|content-box; 作用:

从零开始学习前端开发 — 16、CSS3圆角与阴影

一.css3圆角: border-radius:数值+单位; 1.设置一个值:border-radius:20px; 四个方向圆角都为20px(水平半径和垂直半径相等) 2.设置两个值 border-radius:50px 5px; 左上,右下为50px,右上,左下为5px 3.设置三个值 border-radius:10px 50px 20px; 左上为10px,右上,左下为50px,右下20px 4.设置四个值 border-radius:0px 10px 30px 50px; 顺时针方向依

常见浏览器兼容性问题与解决方案【转】

常见浏览器兼容性问题与解决方案 原文:http://blog.csdn.net/chuyuqing/article/details/37561313/ 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按