码迷,mamicode.com
首页 > 其他好文 > 详细

定位样式

时间:2016-07-19 02:19:24      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:css   html   

Web页面中的特殊效果,如菜单效果,对话框效果都需要通过定位属性来实现。


定位样式

position属性可以控制元素的定位类型

position属性值可以为sataic、fixed、absolute、relative

position属性的语法结构

- position:value;


定位属性static

默认值。没有定位,元素出现在正常文档流中

#box{
    position:static;
    width:100px;
    height:100px;
    border:2px solid #f00;
}


定位属性fixed

生成固定定位的元素,相对于浏览器窗口进行定位。

元素的位置通过位置偏移属性进行设置。

元素的Z轴叠放顺序通过z-index属性进行设置。

元素从正常文档流中完全移除,不占用页面空间

当用户向下滚动页面时元素框并不随着移动

#topNav{
    position:fixed;
    width:100%;
    left:0;
    top:0;
    right:0;
    background-color:#000;
}


定位属性absolute

生成绝对定位元素,相对于static定位以外的第一个父元素进行定位

元素的位置通过位置便宜属性进行规定

元素的Z轴叠放顺序通过z-index属性进行设置

将元素的正常文档流中完全移除,不占据空间

#mask{
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    right:0;
    bottom:0;
    background-color:#000;
}


定位属性relative

生成相对定位元素,相对于其正常位置进行定位

元素的位置通过位置便宜属性进行设置

元素的Z轴叠放顺序通过z-index属性进行设置

元素原本所占的空间仍保留

元素框会相对与它原来的位置偏移某个距离

-设置垂直或水平位置,让元素相对于它的起点进行移动


位置偏移

left属性设置对象相对于父元素/窗口的左侧偏移距离

right属性设置对象相对于父元素/窗口的右侧偏移距离

top属性设置对象相对于父元素/窗口的顶部偏移距离

bottom属性设置对象相对于父元素/窗口的底部偏移距离


Z轴叠放顺序

HTML元素的Z轴地方顺序可以通过z-index属性实现

Z轴的数值越打、其位置靠上,反之靠下


透明处理

通过CSS样式可以设置HTML元素的透明度

在chrome、firefox等浏览器中采用opacity属性实现

在IE浏览器中采用filter属性实现

#mask{
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    right:0;
    bottom:0;
    background-color:#000;
    opacity: .3;
    filter: alpha(opacity=30);
}


CSS Hacks

为了解决不同浏览器之间CSS支持的不同

浏览器的类型及版本的不同会造成CSS效果的不尽相同


CSS Hack区分IE6、IE7、firefox

区别不同浏览器,CSS Hack写法

区别IE6与Firefox

background:orange;*background:blue;

区别IE6与IE7

background:green!impartant;background:blue;

区别IE7与Firefox

background:orange;*background:green;

区别FF、IE6、IE7

background:orange;
*background:green;
_background:blue;
background:orange;
*background:green!important;
*background:blue;


CSS优化

减轻服务器压力

缩短服务器响应时间

提高用户的体验度


CSS优化原则

尽量减少HTTP请求个数

80%的最终用户响应时间花在前端程序上,而其大部分时间则花在各种页面元素,如图像、样式表、脚本和Flash等的下载。减少页面元素将会减少HTPP请求的次数。这是快速显示页面的关键所在。常用的方法包括:

- CSS sprites,合并多个背景图像到一个单独图像,然后通过background-image和background-position进行调整

- image maps,结合堆个图像到一个单独图像。其总体规模大致是想当的,但是减少HTTP请求的数量,从而加快页面显示的速度。图像银蛇只工作在页面中的图像是连续的,如导航栏


把CSS放到顶部

将CSS样式表放置在文档头部后,可以提高页面加载速度。

这是因为样式表放在头部后允许页面逐步显示


避免使用CSS表达式

CSS表达式是一个强大(也是危险)的方式来动态设置CSS属性。他们从IE5开始支持,但IE8正式终止了对这种功能的支持。使用CSS表达式的问题在于,计算机会计算高于预期的频率。如果在CSS中要使用表达式的话,则可以通过:

- 使用一次性表达式,在第一次计算表达式设置为一个显示的值,取代CSS表达式

- 如果样式属性必须设置动态页面的整个生命周期中,使用事件处理程序来替代CSS表达式


避免空的src和href

当link标记的href属性为空、script标记的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值


将CSS和JS放到外部文件中

通常在现实世界中使用外部文件产生更快的速度,因为JavaScript和CSS文件将由浏览器缓存

这样的技术在页面内引用外部的JavaScript和CSS文件后续页会引用外部文件应该已经在浏览器中缓存


压缩CSS或JavaScript

压缩的做法是把不必要的字符从代码来减小其大小,从而提高加载时间

两个流行的工具:JSMin和YUI Compressor,其中YUI Compressor也可以压缩CSS


不要再HTML中缩放图像

因为尽管通过HTML标记的width、height属性缩放了图像,但是图像在网络传输时仍然保持原来图像的字节数



本文出自 “擎凇离雨痴木月” 博客,请务必保留此出处http://kinrey.blog.51cto.com/10492082/1827418

定位样式

标签:css   html   

原文地址:http://kinrey.blog.51cto.com/10492082/1827418

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!