- 浏览: 321337 次
- 性别:
- 来自: 上海
文章分类
最新评论
1. 菜单一 | 菜单二 | 菜单三(demo1.zip )
代码结构:
<ul><li>菜单一</li><li>菜单二</li><li>菜单三</li></ul>
通常我们会li加css
border-right:1px solid #000
这样最后一个li也有右边框,是多余的,只能为最后一个li添加一个class来区分(左边框的情况类似)
而demo1中我们为li加css
ul{overflow:hidden;} ul li{float:left;list-style-type:none;border-left:1px solid #000;padding:0 20px;margin-left:-1px;}
ul的overflow:hidden和li的margin-left:-1px是为了让最左边li的左边框隐藏起来,这样每个li都可以用一样的样式,便于给li循环
2 .压缩图片( demo2.zip )
通常web页面中从后台传的图片和设计师设计的图片大小不一样,这个时候需要按照原图长宽的比例进行压缩,不能超过设计师设定的图片大小。
initial是原始图片大小;goal是压缩后的图片大小;max是最大值
当原始图片长宽有任意一个大于对应的最大值或者两个都小于最大值时对图片大小进行压缩
其它情况不压缩
function imgSize(element,maxWidth,maxHeight){ $(element).each(function() { var initialWidth = $(this).attr("width"); var initialHeight = $(this).attr("height"); var goalWidth = initialWidth; var goalHeight = initialHeight; if (initialWidth > maxWidth || initialHeight > maxHeight) { if (initialWidth / maxWidth >= initialHeight / maxHeight) { var goalWidth = maxWidth; var goalHeight = (initialHeight * maxWidth) / initialWidth; } else { var goalWidth = (initialWidth * maxHeight) / initialHeight; var goalHeight = maxHeight; } } else if (initialWidth < maxWidth && initialHeight < maxHeight) { if (initialWidth / maxWidth >= initialHeight / maxHeight) { var goalWidth = maxWidth; var goalHeight = (initialHeight * maxWidth) / initialWidth; } else { var goalWidth = (initialWidth * maxHeight) / initialHeight; var goalHeight = maxHeight; } } $(this).attr("width", goalWidth); $(this).attr("height", goalHeight); }); }
附件demo2.zip 是一个类似原理的插件:jquery.LoadImage.demo
3 .布局
(图一) (图二) (图三)
要实现如图的这种布局,可以用三个并列关系的div加上样式就可以实现
代码结构:
<div id="first"></div> <div id="second"></div> <div id="third"></div>
这种代码结构非常灵活,可以仅仅通过样式达到多种布局效果
图一(demo3.1.zip)的css:
<style type="text/css"> body{margin:10px;padding:0;} div{background:#ccc;} #first{float:left;width:100px; height:150px} #second{clear:left;float:left;margin-top:10px;width:100px;height:150px} #third{margin-left:110px;_margin-left:107px; height:310px} </style> /*_margin-left:107px;为了ie6多出的3像素而写的hack*/
图二(demo3.2.zip)的css
<style type="text/css"> body{margin:10px;padding:0;} div{background:#ccc;} #first{float:left;width:100px; height:300px} #second{float:right;width:100px;height:300px} #third{margin:0 110px;_margin:0 107px; height:300px} </style> /*_margin:0 107px; 为了ie6多出的3像素而写的hack*/
图三(demo3.3.zip)的css和js,鼠标hover时当前模块放大比例
<style type="text/css"> body{margin:0;padding:0;} div{background:#ccc;position:absolute;} #first{width:100px; height:150px;top:10px;left:10px;} #second{width:100px;height:150px;top:170px;left:10px;} #third{height:310px;top:10px;left:120px;width:200px;} </style> <script type="text/javascript" language="text/javascript"> function zoom(id,x,y){ // 设置缩放函数参数:容器id、横向缩放倍数、纵向缩放倍数(等比例缩放时也可以设定一个参数) var obj=document.getElementById(id); // 获取元素对象值 var dW=obj.clientWidth; // 获取元素宽度 var dH=obj.clientHeight; // 获取元素高度 obj.onmouseover=function(){ // 鼠标移入 this.style.width=dW*x+"px"; // 横向缩放 this.style.height=dH*y+"px"; // 纵向缩放 this.style.backgroundColor="#f00"; // 设置调试背景 this.style.zIndex=1; // 设置z轴优先 } obj.onmouseout=function(){ // 鼠标移出,设回默认值 this.style.width=""; this.style.height=""; this.style.padding=""; this.style.backgroundColor=""; this.style.zIndex=""; } } zoom("first",1.25,1.25); zoom("second",1.25,1.25); zoom("third",1.25,1.25); </script>
4 .获取浏览器可见区域的宽高,通用方法:
//以下的方法对于很多浏览器都适用 function windowHeight() { var windowHeight;//最后传出的值 if (self.innerHeight) { // 除了IE以外的浏览器 windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { /* IE6 浏览器 */ windowHeight = document.documentElement.clientHeight; } else if (document.body) { //其他版本的IE浏览器 windowHeight = document.body.clientHeight; } return windowHeight; } function windowWidth() { var windowWidth;//最后传出的值 if (self.innerWidth) { // 除了IE以外的浏览器 windowWidth = self.innerWidth; } else if (document.documentElement && document.documentElement.clientWidth) { /* IE6 浏览器 */ windowWidth = document.documentElement.clientWidth; } else if (document.body) { // 其他版本的IE浏览器 windowWidth = document.body.clientWidth; } return windowWidth; }
5 .淘宝的简易框架(demo5.zip)
偶然的机会看到了淘宝的这个框架,写得很不错,玉伯的css也非常工整
圆角的切图也挺有意思的,值得我去学习效仿。
6 .滚动消息(demo6.zip)
上下往返滚动的消息一般常出现在公告栏或者新闻栏,以前比较喜欢用Marquee标签来实现,不过Marquee实现的滚动会有头尾不能连接起来而导致消息栏出现短暂的空白的缺陷,而且w3c也不支持Marquee标签。所以用js来实现更完美一些。
function scroll(element, delay, speed, lineHeight) { var numpergroup = 5; var slideBox = (typeof element == 'string')?document.getElementById(element):element; var delay = delay||1000; var speed=speed||20; var lineHeight = lineHeight||20; var tid = null, pause = false; var liLength = slideBox.getElementsByTagName('li').length; var lack = numpergroup-liLength%numpergroup; for(i=0;i<lack;i++){ slideBox.appendChild(document.createElement("li")); } var start = function() { tid=setInterval(slide, speed); } var slide = function() { if (pause) return; slideBox.scrollTop += 2; if ( slideBox.scrollTop % lineHeight == 0 ) { clearInterval(tid); for(i=0;i<numpergroup;i++){ slideBox.appendChild(slideBox.getElementsByTagName('li')[0]); } slideBox.scrollTop = 0; setTimeout(start, delay); } } slideBox.onmouseover=function(){pause=true;} slideBox.onmouseout=function(){pause=false;} setTimeout(start, delay); } 四个参数分别是:操作对象, 停留时间,相对速度(越小越快),每次滚动多少(最好和Li的Line-height一致)。
7. 闪动的消息
<head> <title>闪动的消息</title> <script type="text/javascript"> var styleChangeTimes=0; function changeStyle(id){ obj=document.getElementById(id); styleChangeTimes = styleChangeTimes+1; if((styleChangeTimes%2)==0){obj.style.display="none";} else{obj.style.display="";} window.setTimeout("changeStyle('"+id+"')",200); } </script> </head> <body onload="changeStyle('text')"> <span id="text">您有新的短消息</span> </body>
- demo1.zip (541 Bytes)
- 下载次数: 1481
- demo3.1.zip (523 Bytes)
- 下载次数: 1133
- demo3.2.zip (498 Bytes)
- 下载次数: 1078
- demo3.3.zip (985 Bytes)
- 下载次数: 1130
- demo5.zip (71 KB)
- 下载次数: 1957
- demo6.zip (1 KB)
- 下载次数: 1374
- demo2.zip (22.1 KB)
- 下载次数: 188
评论
var obj=document.getElementById(id); // 获取元素对象值 var dW=obj.clientWidth; // 获取元素宽度
第二行报一个缺少对象
clientWidth 不认识
function imgSize(element,maxWidth,maxHeight){ $(element).each(function() { var initialWidth = $(this).attr("width"); var initialHeight = $(this).attr("height"); var goalWidth = initialWidth; var goalHeight = initialHeight; if (initialWidth > maxWidth || initialHeight > maxHeight) { if (initialWidth / maxWidth >= initialHeight / maxHeight) { var goalWidth = maxWidth; var goalHeight = (initialHeight * maxWidth) / initialWidth; } else { var goalWidth = (initialWidth * maxHeight) / initialHeight; var goalHeight = maxHeight; } } else if (initialWidth < maxWidth && initialHeight < maxHeight) { if (initialWidth / maxWidth >= initialHeight / maxHeight) { var goalWidth = maxWidth; var goalHeight = (initialHeight * maxWidth) / initialWidth; } else { var goalWidth = (initialWidth * maxHeight) / initialHeight; var goalHeight = maxHeight; } } $(this).attr("width", goalWidth); $(this).attr("height", goalHeight); }); }
这个貌似可以修改为
function imgSize(element,maxWidth,maxHeight){ $(element).each(function() { var initialWidth = $(this).attr("width"); var initialHeight = $(this).attr("height"); var goalWidth = initialWidth; var goalHeight = initialHeight; if (initialWidth / maxWidth >= initialHeight / maxHeight) { var goalWidth = maxWidth; var goalHeight = (initialHeight * maxWidth) / initialWidth; } else { var goalWidth = (initialWidth * maxHeight) / initialHeight; var goalHeight = maxHeight; } $(this).attr("width", goalWidth); $(this).attr("height", goalHeight); }); }
div、css用的还是不得心应手。。。。
发表评论
-
IE各版本的css hack
2012-12-06 14:34 1352一:IE各版本的css hack HACK EX ... -
如何去掉链接虚线框
2011-10-08 13:58 1644链接的虚线框影响整体风格,我们在工作经常会将它去掉,而采用 ... -
chrome浏览器font-size<12px无效解决办法
2010-11-30 15:08 3602当样式表里font-size<12px时,chrome浏 ... -
IE下li内元素浮动产生边距的解决办法
2010-07-16 14:25 2583类似于这样的一个结构 <ul> &l ... -
css命名规范
2009-11-07 21:40 1691最近看到了些关于css命名方面的文章,对于这方面我也有自己的看 ... -
图片和文字的对齐
2009-11-07 15:50 10291最近工作中遇到些关于“图片和文字的对齐”的问题: ... -
img标签下多余空白bug解决方法
2009-06-25 13:56 2189根据原因的不同要用不 ... -
命名规则有利于SEO
2009-05-11 13:21 1257搜索引擎优化(seo)有很多工作要做,其中对代码的优化是一个很 ... -
button按钮在 IE 中两边被拉伸的解决办法
2009-03-07 18:40 1776大家在写按钮(input (type="button ... -
用div+css模拟表格对角线
2009-02-09 10:59 2147在蓝色理想 上看到一篇用css写的对角线,觉得很有用。 把 ... -
IE6下兼容position:fixed的问题
2009-01-15 17:23 3413做网页时经常会有让某 ... -
[译文]On having layout
2008-12-30 20:44 1935介绍 Internet Explorer 中有很多奇怪的渲染 ... -
css实现垂直居中
2008-12-15 13:53 1393如果是用table写的表格,那么用vertical-align ... -
文本溢出时显示省略标记
2008-11-21 17:55 3492语法:text-overflow : clip | e ... -
是时候不用考虑基于字体大小(em)的设计了
2008-11-01 00:22 1656一篇不错的文章,转自 ... -
网页的栅格系统设计
2008-10-30 21:31 1296栅格系统的形成 1692年,新登基的法国国王路易十四 ... -
CSS滤镜
2008-10-24 14:44 1204下面是一些滤镜的描述, ... -
网站灰黑色CSS滤镜代码
2008-10-24 10:32 1742html { filter:progid:DXImageTra ... -
IE6默认不缓存背景图片,引起鼠标抖动的解决方法
2008-10-09 13:51 3753在IE6下,如果拖动的DOM元素使用了背景图,在Drag的过程 ... -
ink和@import引用css文件方法的区别
2008-09-17 18:11 3253<link> 元素所参考的样式用户可以自由的选择 ...
相关推荐
jsp 页面上图片分行输出小技巧.docx
jsp编程的一些小技巧总结,绝对实用。包括JSP编程中常用的js技术。 1.JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录...
有时候需要图片分行显示,下面是比较不错的代码。
小技巧: 12 2 在客户端输出存在数据库中的word实体 12 四、 控制Word,Excel在浏览器中打开,还是下载 15 五、 用JSP输出Word文档,如何去掉“文件下载”提示? 15 问题文件源代码: 15 回答: 16 六、 怎么把JSP页面...
但是与.cs页面编译过程不同的是,当浏览者第一次浏览到.aspx页面时,ASP.NET自动生成该页的.NET类文件,并将其编译成另一个.DLL文件。 当浏览者再一次浏览该页面的时候,生成的.DLL就会在服务器上运行,并响应用户在...
85 <br>0130 复制字符串中指定的字符 85 <br>0131 巧截字符串的数字 86 <br>0132 如何存储变长字符串 86 <br>0133 在进行字符串比较时忽略大小写 87 <br>0134 如何去除字符串尾空格 87 ...
此外,还可以参考一些Delphi的技巧和小窍门,如判断字符串是否包含于另一个字符串、使窗口全屏显示、数字格式化输出等,这些都可以提高编程效率和程序的实用性。 对于想要深入学习Delphi的开发者,还可以参考一些...
通过我们已经学过的知识,你可以编写一个最简单的程序输出一个也许是程序世界中最有名的词语: echo "Hello World!"; ?> First PHP page // Single line C++ style comment /* printing the message */ ...
如果需要在菜单运行前安装一些字体,程序还将创建一个名为 FontData 的目录来存放字体文件。请自行尝试一下,您会发现本软件的功能还有许多。 工作选项点击菜单查看->选项,可以设置程序的工作选项。 显示网格在...
如果需要在菜单运行前安装一些字体,程序还将创建一个名为 FontData 的目录来存放字体文件。请自行尝试一下,您会发现本软件的功能还有许多。 工作选项点击菜单查看->选项,可以设置程序的工作选项。 显示网格在...
3.10 技巧24:可能的话,使用一个大规模的写操作,而不是多个小规模的写操作 155 3.10.1 禁用Nagle算法 158 3.10.2 将写操作合并起来 159 3.10.3 小结 161 3.11 技巧25:理解如何使connect调用超时 162 3.11.1 ...
1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 ...
小技巧 如果lynis 不是通过带有man 页面的包进行安装的话,可以输入 # man ?lynis 对于那些SHELL终端背景是浅色的某些系统,可以使用 # lynis --nocolors 后者 # lynis --reverse-colors 可以使用-h 选项去显示所有...
11、WCM API JSP组件输出一条完整的内容全部代码 219 12 、导入JS组件 220 13 、WCM远程操作URL 221 14 、创建定制启动页 224 15、API获取用户所在的组信息 225 十五、JAVA 225 1、链接各种数据库驱动 225 2、FUTURE...
linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...