当前位置:  编程技术>WEB前端
本页文章导读:
    ▪网页设计关于字体的技巧      一、小述 作为一个并非前端开发的人,却有时候喜欢前端的一些东西。如果说网站是一项建筑工程的话,那么后台就是比较重量级的钢筋水泥土,先搭建好整体框架,然后再慢慢地填充。那.........
    ▪网页清除缓存方法      1.禁止客户端缓存要在 <head>中加入类似如下内容 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <MET.........
    ▪jquery不同方向的卷帘效果      首先非常感谢这篇博文: http://www.cnblogs.com/rubylouvre/archive/2012/11/06/2757175.html demo01.htm <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&.........

[1]网页设计关于字体的技巧
    来源:    发布时间: 2013-11-06

一、小述

作为一个并非前端开发的人,却有时候喜欢前端的一些东西。如果说网站是一项建筑工程的话,那么后台就是比较重量级的钢筋水泥土,先搭建好整体框架,然后再慢慢地填充。那么前端就是修补、装饰、美化等工作了,它起到了让人一眼都爱上她的作用。一个网站的好坏,不仅仅是性能上的比较,很多时候是界面美化和用户体验上的。对于界面美化,Ps能很好胜任,本人Ps也不差,然后就是HTML系列、Css系列;对于用户体验上,我相信Javascript、Jquery、Ajax一定能胜任。

爱美之心,人人皆有,对于网站整体设计亦如此。今天就来学习网页设计中字体的技巧。

二、Css字体

1、字体系列:

W3C中说:在 CSS 中,有两种不同类型的字体系列名称:通用字体系列 - 拥有相似外观的字体系统组合(比如 "Serif" 或 "Monospace")、特定字体系列 - 具体的字体系列(比如 "Times" 或 "Courier"),这里我们最好配合使用,以免其他机器上没有安装指定的字体。

2、字体大小:

font-size 值可以是绝对或相对值。

绝对大小:

       (1).文本大小设置指定
       (2).不允许用户在所有浏览器中改变文本大小(不利于可用性)
       (3).绝对大小在确定了输出的物理尺寸时很有用

相对大小:
      (1).相对于周围的元素来设置大小
      (2).允许用户在浏览器改变文本大小

注意:如果没有规定字体大小,普通文本(比如段落)的默认大小是 16 像素 (16px=1em)。

这里W3C 推荐使用 em 尺寸单位。1em 等于当前的字体尺寸。如果一个元素的 font-size 为 16 像素,那么对于该元素,1em 就等于 16 像素。在设置字体大小时,em 的值会相对于父元素的字体大小改变。浏览器中默认的文本大小是 16 像素。因此 1em 的默认尺寸是 16 像素。可以使用下面这个公式将像素转换为 em:pixels/16=em。

注意:无论是使用em还是pixels,在IE都有可能出现在重设文本大小时,会比正常的尺寸更大或更小的问题,对于这一点我们综合使用百分比和em就能很好解决。在所有浏览器中均有效的方案是为 body 元素(父元素)以百分比设置默认的 font-size 值:如:body{font-size:100%;} h2{ font-size:1.5em}

更多相关参考:http://www.divcss5.com/html/h89.shtml

3、了解font-variant属性

font-variant 属性设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。所有主流浏览器都支持 font-variant 属性。它有三个值:

normal:默认值。浏览器会显示一个标准的字体。

small-caps:浏览器会显示小型大写字母的字体。

inherit:规定应该从父元素继承 font-variant 属性的值。不做要求

如:

1: <div Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }

三、关于css字体简写
如:

1: font-size: 1em; 2: line-height: 1.5em; 3: font-weight: bold; 4: font-style: italic; 5: font-variant: small-caps; 6: font-family: verdana,serif;
.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }

可以简写为:font:bold italic 1em/1.5em  small-caps verdana,serif

注意的是:简写的顺序很重要,如果顺序不对那么就解析不出来,争取到属顺序是:font:字体粗细 字体样式 字体大小/行高 ……

四、Css字体距离

text-indent:20px;设置开头的缩进

letter-spacing:3px;设置字体间距

Web设计中19个常用安全字体:http://www./css/23416.html

本文链接


    
[2]网页清除缓存方法
    来源: 互联网  发布时间: 2013-11-06

1.禁止客户端缓存要在

<head>中加入类似如下内容

<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">


2.在服务器的动态网页中禁止缓存,要加入类似如下脚本

 

(1)asp

<%
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = "no-cache"
%>

 

(2)php

header("Pragma:no-cache");  

header("Cache-Control","no-cache");
header("Expires:0");

 

(3)jsp

response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

 

Pragma HTTP头信息 (为什么它不起作用)

很多人认为在HTTP头信息中设置了Pragma: no-cache后会让内容无法被缓存。但事实并非如此:HTTP的规范中,响应型头信息没有任何关于Pragma属性的说明,而讨论了的是请求型头信息 Pragma属性(头信息也由浏览器发送给服务器),虽然少数集中缓存服务器会遵循这个头信息,但大部分不会。用了Pragma也不起什么作用,要用就使 用下列头信息:

使用Expires(过期时间)HTTP头信息来控制保鲜期

Expires(过期时间) 属性是HTTP控制缓存的基本手段,这个属性告诉缓存器:相关副本在多长时间内是新鲜的。过了这个时间,缓存器就会向源服务器发送请求,检查文档是否被修改。几乎所有的缓存服务器都支持Expires(过期时间)属性;

大部分Web服务器支持你用几种方式设置Expires属性;一般的:可以设计一个绝对时间间隔:基于客户最后查看副本的时间(最后访问时间)或者根据服务器上文档最后被修改的时间;

Expires头信息:对于设置静态图片文件(例如导航栏和图片按钮)可缓存特别有用;因为这些图片修改很少,你可以给它们设置一个特别长的过期时间,这会使你的网站对用户变得相应非常快;他们对于控制有规律改变的网页也很有用,例如:你每天早上6点更新新闻页,你可以设置副本的过期时间也是这个时间,这样缓存 服务器就知道什么时候去取一个更新版本,而不必让用户去按浏览器的“刷新”按钮。

过期时间头信息属性值只能是HTTP格式的日期时间,其他的都会被解析成当前时间“之前”,副本会过期,记住:HTTP的日期时间必须是格林威治时间(GMT),而不是本地时间。举例:

Expires: Fri, 30 Oct 1998 14:19:41 GMT

所以使用过期时间属性一定要确认你的Web服务器时间设置正确,一个途径是通过网络时间同步协议(Network Time Protocol NTP),和你的系统管理员那里你可以了解更多细节。
虽然过期时间属性非常有用,但是它还是有些局限,首先:是牵扯到了日期,这样Web服务器的时间和缓存服务器的时间必须是同步的,如果有些不同步,要么是应该缓存的内容提前过期了,要么是过期结果没及时更新。
还有一个过期时间设置的问题也不容忽视:如果你设置的过期时间是一个固定的时间,如果你返回内容的时候又没有连带更新下次过期的时间,那么之后所有访问请求都会被发送给源Web服务器,反而增加了负载和响应时间;

Cache-Control(缓存控制) HTTP头信息

HTTP 1.1介绍了另外一组头信息属性:Cache-Control响应头信息,让网站的发布者可以更全面的控制他们的内容,并定位过期时间的限制。
有用的 Cache-Control响应头信息包括:

  • max-age=[秒] — 执行缓存被认为是最新的最长时间。类似于过期时间,这个参数是基于请求时间的相对时间间隔,而不是绝对过期时间,[秒]是一个数字,单位是秒:从请求时间开始到过期时间之间的秒数。
  • s-maxage=[秒] — 类似于max-age属性,除了他应用于共享(如:代理服务器)缓存
  • public — 标记认证内容也可以被缓存,一般来说: 经过HTTP认证才能访问的内容,输出是自动不可以缓存的;
  • no-cache — 强制每次请求直接发送给源服务器,而不经过本地缓存版本的校验。这对于需要确认认证应用很有用(可以和public结合使用),或者严格要求使用最新数据的应用(不惜牺牲使用缓存的所有好处);
  • no-store — 强制缓存在任何情况下都不要保留任何副本
  • must-revalidate — 告诉缓存必须遵循所有你给予副本的新鲜度的,HTTP允许缓存在某些特定情况下返回过期数据,指定了这个属性,你高速缓存,你希望严格的遵循你的规则。
  • proxy-revalidate — 和 must-revalidate类似,除了他只对缓存代理服务器起作用

举例:

Cache-Control: max-age=3600, must-revalidate
 
更多关于缓存的内容http://blog.csdn.net/xingyu15/archive/2009/10/19/4699213.aspx
作者:niuch1029291561 发表于2013-2-1 10:06:22 原文链接
阅读:0 评论:0 查看评论

    
[3]jquery不同方向的卷帘效果
    来源: 互联网  发布时间: 2013-11-06

首先非常感谢这篇博文:

http://www.cnblogs.com/rubylouvre/archive/2012/11/06/2757175.html

demo01.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>方向反馈</title>
<style type="text/css">
html,body{margin:0;padding:50px;}
#wrap{position:relative;width:400px;height:300px;background:#33aa00;margin:50px;display:inline-block;font-size:50px;text-align:center;line-height:300px;overflow:hidden;}
</style>
<body>
<div id="wrap">
	 方向反馈
</div>
<div id="result" >
	<span style="color:#FFF;">反馈方向</span>
</div>
<script src=/blog_article/"/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src=/blog_article/"rollingMask-0.1.0.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
	$.rollingMask({
		objId:"wrap",
		content:$("#result").html()
	});
});
</script>
</body>
</html>

rollingMask-0.1.0.js

/**
* 不同方向的卷帘效果
* 
**/
$.extend({
	rollingMask:function(opt,callback){
		this.defaults = {
			objId:"", // 容器id
			content:"test", // 卷帘内容
			opacity: 0.8,
			fadeSpeed:150 // 卷帘消失的时间
		};
		// 参数初始化
		var opts = $.extend(this.defaults,opt);	
		
		var contentId = opts.objId + "_content";
		var showId = opts.objId + "_show";
		
		$("#" + opts.objId).bind("mouseenter mouseleave",
		function(e) {
			var w = $(this).width();
			var h = $(this).height();
			var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1);
			var y = (e.pageY - this.offsetTop - (h / 2)) * (h > w ? (w / h) : 1);
			var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;
			var eventType = e.type;
			
			if(e.type == 'mouseenter'){
				$("#" + opts.objId).append("<div id=\"" + contentId+ "\">" +  opts.content + "</div>");
				$("#" + contentId).css({
					"position":"absolute",
					"width":w + "px",
					"height":h + "px",
					"top":"0px",
					"left":"0px",
					"background":"#F55",
					opacity:opts.opacity
				});
				switch(direction){
					case 0:
						$("#" + contentId).css("top",-h + "px");
						break;
					case 1:
						$("#" + contentId).css("left",w + "px");
						break;
					case 2:
						$("#" + contentId).css("top",h + "px");
						break;
					case 3:
						$("#" + contentId).css("left",-w + "px");
						break;
				}
				$("#" + contentId).animate({"top":"0px","left":"0px"});
			}else{
				$("#" + contentId).fadeOut(opts.fadeSpeed, function(){
					$("#" + contentId).remove();
				});
			}
		}
	);
	}
});




作者:blatar 发表于2013-2-1 9:41:35 原文链接
阅读:36 评论:0 查看评论

    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
iis7站长之家
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3