一、设置元素背景透明属性{background:rgba(255,255,255,0.5);}

  1.元素背景透明,内容正常显示;

  注:opacity:value;元素背景透明内容也透明;

  2.rgba分别指red、green、blue、透明度

二、Flash和marquee(滚动字幕)

  1.插入flash

    1)语法:<object width="value" height="value">

          <param name="movie" value="flash路径及全称" />

          <embed width="value" height="value" src="flash路径及全称"></embed>

           </object>

    2)将flash背景设置为透明

      <embed wmode="transparent" />

      给<embed>标记添加属性:wmode="transparent"

    说明:flash源文件格式.fla,导出影片为.swf,创建播放器格式为.exe,gif格式:.gif

    3)IE中不显示flash,可做如下操作:

      A.下载安装flash player;

      B.打开IE浏览器,选择工具菜单--Internet选项----安全----低。

  2.滚动字幕的应用:

    <marquee

      behavior(行为)="scroll(滚动)/alternate(晃动)"

      direction(方向)="up(从下而上)/down(从上向下)/left(从右到左)/right(从左到右)"

      scrollamount(滚动速度)="value"

      height(上下滚动范围)="value"

      width(左右滚动范围)="value">

      内容

    </marquee>

三、图片整合技术(精灵图、雪碧图)

  1.CSS Sprites的原理:

    1)将背景图片,按钮背景图片等有规则的合并成一张背景图,即将多张图片整合成一整张图,然后用background-position来实现背景图的定位技术。

  2.图片整合的优势:

    1)通过图片整合来减少对服务器的请求次数,从而提高页面的加载速度;

    2)通过图片整合来减少图片的体积;

  3.图片整合的原则:

    1)边切图边整合;

    2)定位时避免bottom、right等,用具体的数值,为了避免当你的宽度或高度上扩展时出现位置的错误;

    3)将小图标预留足够的空间,因为使用这些图标元素通常会有大量的内容而且可能需要扩展的间距,以至于其他的图片可能会意外出现在本区域内;一般情况下,会将这些小图标整合到文件的最右侧;

    4)单张整合好的sprite图片在100KB以内;

    5)按分类整合图片;

    6)为了方便计算尺寸,一般情况会将sprites图的坐标计算成整数倍;

    7)整合好的图片必须是背景透明的图片png或者GIF。

  拓展:滑动门技术

    1)滑动门是一个形象的称呼,它利用css背景图像可层叠性,并允许彼此之上进行滑动来创造一些特殊动态效果;

    2)通过滑动门技术,可以使css设计出来的导航菜单具有传统布局的图像效果与css布局高效扩展性。

三、浏览器兼容

  1.常见的主流浏览器:Internet Explorer、Safari、Mozilla Firefox、Google Chrome、Opera、百度、360、搜狗、遨游、世界之窗

  2.最早的浏览器:Mosaic/Netscape Navigator(网景领航者)(1994~2008)简称NN

  3.五大浏览器内核:

    •Trident (MSHTML) (三叉戟;三叉线;三齿鱼叉)

    •Gecko (壁虎)

    •Presto ( 迅速的)

    •Webkit (Safari内核,Chrome内核原型,它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核)

    •Blink (由Google和Opera Software开发的浏览器排版引擎)

  4.五大浏览器内核的代表作:

    *Trident: IE、Maxthon(遨游)、腾讯 、Theworld世界之窗、360浏览器代表作品IE,因为IE捆绑在Windows中,所以占有极高的市场份额,又称IE内核或是MSHTML,此内核只能应用于windows平台,且是不开源的;

    *Gecko:代表作品Mozilla Firefox 是开源的,它的最大优势是跨平台,能在Microsoft Windows、Linux和MacOS X等主要操作系统上运行;

    *Webkit : 代表作品Safari、Chrome ,是一个开源项目;

    *Presto : 代表作品Opera ,Presto是由Opera Software开发的浏览器排版引擎。它也是世界上公认的渲染速度最快的引擎;

    *Blink :由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。

  5.为什么会出现兼容问题?

    由于各大主流浏览器由不同的厂家开发,所用的核心架构和代码也很难重和,这就为各种莫名其妙的Bug(代码错误)提供了温床。再加上各大厂商出于自身利益考虑而设置的种种技术壁垒,都让CSS应用起来比想象得要麻烦。浏览器的兼容问题是我们必须去克服的。

  6.CSS Bug、CSS Hack和Filter

    1)CSS Bug:css样式在各浏览器中解析不一致的情况,或者说css样式在浏览器中不能正确显示的问题称为css bug;

    2)CSS Hack:css中,Hack是指一种兼容css在不同浏览器中正确显示的技巧方法,他们都属于个人对css代码的非官方修改,或非官方的补丁,有些人更喜欢使用patch(补丁)来描述这种行为;css hack的弊端:会增加一些css代码,从而增加浏览器的负担;

    3)Filter表示过滤器的意思,它是一种对特定的浏览器或浏览器组显示或隐藏规则和声明的方法;本质上讲,Filter是一种用来过滤不同浏览器的Hack类型;

  7.使用Hack带来的副作用:降低了css代码的可读性,增加了代码的负担;

  8.设计css hack和filter通常有两种方法:

    1)一种是利用浏览器自身的bug,来隐藏或显示样式或声明;

    2)另一种是利用浏览器对css支持的不完善,如对某些规则或语法还没有形成支持,来隐藏或显示样式。

  9.css bug:

    1)图片有边框

      bug:当图片加载在IE上会出现边框

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

    2)div中图片间隙

      bug:在div中插入图片时,图片会将div下方撑大大约三像素

      hack1:将div与img写在同一行上

      hack2:将img转为块状元素,添加声明display:block;

    3)双倍浮向(双倍边距只有IE6会出现)

      bug:当IE6及更低版本浏览器在解析时,会错误地把浮向边界(margin)加倍显示

      hack:给浮动添加声明:display:inline;

    4)默认高度(IE6、IE7)

      bug:在IE6及以下版本中,部分块元素拥有默认高度(在16px左右;)

      hack1:给元素添加声明:font-size:0;

      hack2:给元素添加声明:overflow:hidden;

    5)表单元素行高对齐不一致

      bug:表单元素行高对齐方式不一致

      hack:给表单元素添加声明:float:left;

    6)按钮元素默认大小不一

      bug:各浏览器中按钮元素大小不一致

      hack1: 统一大小/(用a标记模拟)

      hack2:input外边套一个标签,在这个标签里写按钮的样式,把input的边框去掉。

      hack3:如果这个按钮是一个图片,直接把图片作为按钮的背景图即可。

    7)百分比bug

      bug:在IE6及以下版本中在解析百分比时,会按四舍五入方式计算从而导致50%加50%大于100%的情况。 (也会受系统影响)

      hack: 给右面的浮动元素添加声明:clear:right; 意思:清除右浮动;

                       clear:left:清除左浮动

                       clear:both:清除两边的浮动

    8)鼠标指针bug

      bug:cursor属性的hand属性值只有IE9以下浏览器识别,其它浏览器不识别该声明,cursor属性的pointer属性值IE6.0以上版本及其它内核浏览器都识别该声明。

      hack: 如统一某元素鼠标指针形状为手型,应添加声明:cursor:pointer

    拓展:cursor:auto默认

             crosshair加号

             text文本

           wait等待

           help帮助

           progress过程

           inherit继承

           move移动

           ne-resize向上或向右移动

           pointer手形

    9)透明属性兼容其他浏览器写法:opacity:value;(value的取值范围0-1; 例:opacity:0.5; )

      hack:IE浏览器写法:filter:alpha(opacity=value);取值范围 1-100(整数)

    10)li列表的BUG

      bug1:当父元素(li) 有float:left;子元素(a) 没设置浮动的情况下会出现垂直bug;

      hack:给父元素li和子元素a都设置浮动;

      bug2:当给li中的a转成block;并且有height,并有float的,li中没设置浮动会出现阶梯显示;

      hack:同时给li加float和width:100%;

    11)margin上下重叠

      bug:当前元素(父元素里面第一个子元素)与父元素没有设置任何浮动的情况下,设置margin-top后,会错误的把margin-top加在父级元素上

      hack1:给父级元素添加overflow:hidden;(推荐使用)

      hack2:给父元素或者子元素加浮动

    12)margin bug

      bug:当两个上下排列的元素,上元素有margin-bottom:30px;下面元素有margin-top:20px;他们中间的距离不会叠加,而是会设置为较大的值

  10.Filter过滤器

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

      当一个属性前面增加了一个下划线后,由于符合标准的浏览器不能识别带有下划线的属性二忽略了这个声明,但是在IE6以下低版本浏览器中会继续解析这个规则

    2)“*”、“+”属性过滤器:选择器{*属性:属性值;/+属性:属性值;}

      “*”、“+”过滤IE7及以下的浏览器

    拓展:IE8浏览器的兼容符号“\0”,用这个符号来进行HACK技术(选择器{属性:属性值\0;});

       兼容IE浏览器符号“\9”(选择器{属性:属性值 \9;})。

HTML学习笔记Day8的更多相关文章

  1. sqli-labs学习笔记 DAY8

    DAY 8 sqli-lab Page-3 sqli-labs lesson 38 What is Stacked injection? https://blog.csdn.net/Fly_hps/a ...

  2. JS学习笔记Day8

    一.内置函数Math 1.Math 1)Math.abs() 求绝对值 2)Math.PI 圆周率 2.求近似值: 1)Math.round() 四舍五入(负数: >0.5 进一 <=0. ...

  3. Python学习笔记 - day8 - 异常

    异常 在程序运行过程中,总会遇到各种各样的错误.有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种 ...

  4. 【目录】Python学习笔记

    目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  9. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. 二、.Net 连接mycat

    一.mycat 单体的mysql已经过去 二.引用Mycat包 三.代码 using Pomelo.Data.MyCat; using System; using System.Collections ...

  2. Python——Flask框架——Web表单

    一.框架Flask-WTF 安装: pip install flask-wtf 需要程序设置一个密钥 app = Flask(__name__) app.config['SECRET_KEY'] = ...

  3. git reset 版本回退的三种用法总结

    git reset (–mixed) HEAD~1 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响) git reset –soft ...

  4. rmse均方根误差

    rmse=sqrt(sum((w-r).^2)/length(w))

  5. opencv imdecode和imencode用法

    主要是对内存数据自动编解码 string fname = "D:/image.jpg"; //! 以二进制流方式读取图片到内存 FILE* pFile = fopen(fname. ...

  6. git 强制推送

    Git 强制推送方法(一般不建议使用) $ git push -u origin master -f

  7. BZOJ3676[Apio2014]回文串——回文自动机

    题目描述 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度.请你求出s的所有回文子串中的最 大出现值. 输入 输入只有一行,为一个只包含小写字 ...

  8. Codeforces Round #446 Div. 1

    B:即使看到n<=22也应该猜到这只是为了写spj.将每个数替换为恰好比他大的数即可,最大值替换为最小值.这样原序列中不包含最小值的集合显然都满足条件,并且容易发现包含最小值的集合的变化量都是最 ...

  9. CH2906 武士风度的牛(算竞进阶习题)

    水..... 直接bfs... #include <bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; typedef l ...

  10. spi slaver接口的fpga实现

    前言 spi从机接口程序,数据位8bit,sck空闲时低电平,工作时第一个沿数据传输.只有一个从机,cs低电平片选,slaver开始工作. 流程: 接口定义: 编码实现:(版权所有,请勿用于商业用途, ...