5.9GOGO

1.margin属性值所指方向:

auto:浏览器计算外边距

length:规定以具体单位计算的外边距值,比如像素、厘米等。默认值是0px。

%:规定给予父元素的宽度的百分比的外边距。

inherit:规定应该从父元素继承外边距。

2.单标签和爽标签:

双标签:<html><head><title><body><table><tr><td><span><p><form><h1><h2><h3><h4><h5><h6><object><style><b><u><strong><i><div><a><script><center>单标签:<br><hr><img><input><param><meta><link>

3.相对长度em怎么用:

i. em的值并不是固定的;

ii. em会继承父级元素的字体大小。

所以我们在写em的时候,需要注意两点:

i. body选择器中声明Font-size=62.5%;

ii 将你的原来的px数值除以10,然后换上em作为单位;

iii. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明

4.浏览器的兼容性:

浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 碰到频率:100% 解决方案:CSS里    *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大 问题症状:常见症状是IE6中后面的一块被顶到下一行 碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题) 解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性 备注:我们最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。

浏览器兼容问题三:设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度 问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度 碰到频率:60% 解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。 备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。

浏览器兼容问题四:行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug 问题症状:IE6里的间距比超过设置的间距 碰到几率:20% 解决方案:在display:block;后面加入display:inline;display:table; 备注:行内属性标签,为了设置宽高,我们需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在IE6下,他就具有了块属性float后的横向margin的bug。不过因为它本身就是行内属性标签,所以我们再加上display:inline的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。

浏览器兼容问题五:图片默认有间距 问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。 碰到几率:20% 解决方案:使用float属性为img布局 备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。(我的一个学生使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)

浏览器兼容问题六:标签最低高度设置min-height不兼容 问题症状:因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容 碰到几率:5% 解决方案:如果我们要设置一个标签的最小高度200px,需要进行的设置为:{min-height:200px; height:auto !important; height:200px; overflow:visible;} 备注:在B/S系统前端开时,有很多情况下我们又这种需求。当内容小于一个值(如300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。

浏览器兼容问题七:透明度的兼容CSS设置 做兼容页面的方法是:每写一小段代码(布局中的一行或者一块)我们都要在不同的浏览器中看是否兼容,当然熟练到一定的程度就没这么麻烦了。建议经常会碰到兼容性问题的新手使用。很多兼容性问题都是因为浏览器对标签的默认属性解析不同造成的,只要我们稍加设置都能轻松地解决这些兼容问题。如果我们熟悉标签的默认属性的话,就能很好的理解为什么会出现兼容问题以及怎么去解决这些兼容问题。

5.post和get的区别:

I. get是从服务器上获取数据,post是向服务器传送数据。
II. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
III. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
IV. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
V. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

5.http协议的传输方式:

http协议数据传输方式

http协议的一些特点:

1)无状态 http协议是一种自身不对请求和响应之间的通信状态进行保存的协议,即无状态协议。 这种设置的好处是:更快的处理更多的请求事务,确保协议的可伸缩性 不过随着web的不断发展,有时候,需要将这种状态进行保持,随即,就引入了cookie技术,cookie技术通过在请求和响应报文中写入cookie信息来控制客户端的状态。

2)持久性 正常在发送http时,都需要建立TCP的连接,再发送报文。

3)管线化 如果一个http请求,请求了大量的图片等大文件,那么其他的http请求怎么办呢? 现在,管线化技术的出现,使得http请求比持久性连接更要快;特点在于:请求数越多,时间差越明显。

4)内容编码 由于某些报文的内容过大,因此在传输时,为了减少传输的时间,会采取一些压缩的措施。 例如上面的报文信息中,Accept-Encoding就定义了内容编码的格式:gzip 有下面几种方式: gzip:GNU压缩格式 compress:UNIX系统的标准压缩格式 deflate:是一种同时使用了LZ77和哈弗曼编码的无损压缩格式 identity:不进行压缩

5)多部分对象集合 有的时候传输的内容,不仅仅是一些字符串,还有可能是一些图片,字符,音乐二进制等混杂的内容。 这就需要使用多部分对象集合,multipart,例如在使用java编写web上传文件的代码时,需要在form中指定form的编码格式。 设置form的enctype属性的值为multipart/form-data。 这是因为默认的情况下form使用的编码格式是:applicatin/x-www-form-urlencoded,这种编码格式会把所有的内容进行编码,不适合上传文件这种情况。 这两种编码格式的区别主要是: multipart/form-data 会以控件为基准,编码form中的内容。 application/x-www-form-urlencoded 会把form中的内容编码成键值对的形式。

6)范围请求 有些场景下,http报文请求一些很大的图片,但是加载过程很慢。 比如我们登录一些大图片的网址,会发现有时候图片是一块一块加载的。 这就是因为设置了http请求的长度,这样就可以分块的加载资源文件。 在请求报文中使用Range属性,在响应报文中使用Content-Type属性都可以指定一定字节范围的http请求。

处于安全考虑,常用的一般都是GET和POST两种,先来介绍下这两种

1)GET:获取资源 GET方法用来请求访问已被URL识别的资源

2)POST:传输实体主体 POST方法用来请求服务器传输信息实体的主体

 

posted on 2017-05-10 00:44  小凉橙  阅读(119)  评论(0编辑  收藏  举报

导航