当前位置:  编程技术>WEB前端
本页文章导读:
    ▪《实用技巧》——让你的网站变成响应式的3个简单步骤        如今,一个网站只在桌面屏幕上好看是远远不够的,同时也要在平板电脑和智能手机中能够良好呈现。响应式的网站是指它能够适应客户端的屏幕尺寸,自动响应客户端尺寸变化。在这篇.........
    ▪jsp中定义方法      在jsp中,如果需要处理复杂数据时,在上方定义一个java方法是很有效的解决方案,把处理数据的责任推给该方法,然后该jsp页面的主流程就不受影响。当然也可以使用js定义方法来处理,js.........
    ▪HTML5 – 一个拖拽功能的例子      我最近出席了一系列的研讨会,HTML5这个主题在这些会上反复出现。出于好奇我略看了几眼后,开始觉得应该好好的挖掘一下HTML5,看看它究竟会给我们今天技术上带来哪些好处。一个特别.........

[1]《实用技巧》——让你的网站变成响应式的3个简单步骤
    来源:    发布时间: 2013-11-06

  如今,一个网站只在桌面屏幕上好看是远远不够的,同时也要在平板电脑和智能手机中能够良好呈现。响应式的网站是指它能够适应客户端的屏幕尺寸,自动响应客户端尺寸变化。在这篇文章中,我将向您展示如何通过3个简单的步骤轻松地使网站变成响应式(Responsive)。

您可能感兴趣的相关文章
  • 2012年排名前20位的 CSS 网站作品
  • 25佳优秀的流体和响应式布局网页设计
  • 2012年最佳 Web 前端开发工具和框架
  • 25个国外优秀的电子商务网站设计案例
  • 85个很优秀的响应式网页设计作品范例

 

1 – 布局

  当创建一个响应式网站,或让现有的网站变成响应式的,首先要关注的元素的布局。我在建立响应式的网站,总是先创建一个非响应的布局,页面宽度固定大小。如果非响应版本完成得非常不错,我再添加媒体查询(Media Queries)和响应式代码。这种操作方式更容易实现响应式特性,在同一时间专注于一个任务。

  当你已经完成了无响应的网站,做的第一件事是在你的 HTML 页面,粘贴下面的代码到<haed>和</head>标签之间。这将设置屏幕按1:1的尺寸显示,在 iPhone 和其他智能手机的浏览器提供网站全视图浏览,并允许用户缩放页面。

 

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="HandheldFriendly" content="true">

 

  现在是时候添加一些媒体查询了。根据 W3C 网站,媒体查询由媒体类型和零个或多个媒体查询的条件表达式组成。通过使用媒体查询,外观呈现可以针对特定范围内的输出设备,而不需要改变内容本身。换句话说,媒体查询让您的网站在各种各种显示器上看起来都很好,从小的智能手机到大的电脑屏幕等等。

  媒体查询取决于你的网站布局,所以对我来说为您提供一个现成可以使用的代码片段有点困难。但是,下面的代码对于大多数网站都是一个很好的起点。在这个例子中,#primary 是主要内容区域,#secondary 是侧栏。

  从代码中你可以看到,我定义了两种规格:首先有一个最大宽度为1060px,为平板电脑优化的横向显示。#primary 占在其父容器宽度的67%,#senondary 占30%,再加上3%的左外边距。 第二个规格是用于平板电脑和更小的屏幕尺寸。

  由于智能手机的屏幕尺寸小,我决定给 #primary 设置100%的宽度,#secondary 也设置100%的宽度,他将在 #primary 下面。 正如我已经说过的,你可能必须要对这段代码位进行修改才能适应您的网站的具体需求。

 

/* Tablet Landscape */
@media screen and (max-width: 1060px) {
#primary { width:67%; }
#secondary { width:30%; margin-left:3%;}
}

/* Tabled Portrait */
@media screen and (max-width: 768px) {
#primary { width:100%; }
#secondary { width:100%; margin:0; border:none; }
}

  完成以后,让我们看看你的布局是如何响应的。要做到这一点,我用这 Matt Kersley 创建的一款非常的响应式测试工具。

 

2 – 媒体

  一个响应式的布局是实现响应网站的第一步。现在,让我们把注意力集中在另外一个现代化网站非常重要的方面:媒体,如视频或图像。 下面的 CSS 代码将确保您的图像将永远不会大于他们的父容器,代码非常简单,适用于大多数网站。请注意,IE6 等旧的浏览器不支持 max-width 指令。

 

img { max-width: 100%; }

 

  虽然上述技术是有效的,有时你可能需要有更多的图像控制权,例如根据客户端的显示大小,显示不同的图像。

  这是由 Nicolas Gallagher 发明的好方法。让我们看看 HTML:

 

<img src="/blog_article/image.jpg" data-src-600px="image-600px.jpg" data-src-800px="image-800px.jpg" alt="">

  

  正如你可以看到,我们使用 data-* 属性来存储替换图像的 URL。现在,让我们使用强大的 CSS3 来为匹配 min-device-width 条件的媒体指定替换图像:

 

@media (min-device-width:600px) {
img[data-src-600px] {
content: attr(data-src-600px, url);
}
}

@media (min-device-width:800px) {
img[data-src-800px] {
content: attr(data-src-800px, url);
}
}

  

  令人印象深刻,是不是?现在,让我们来看看另一个在今天的网站中非常重要的媒体——视频。由于大多数网站使用的视频来自第三方网站,我决定把重点放在 Nick La 的弹性视频技术,这种技术可让您嵌入的响应式的视频。

  HTML:

<div >
<iframe src="http://player.vimeo.com/video/6284199?title=0&byline=0&portrait=0" width="800" height="450" frameborder="0"></iframe>
</div>

  

  CSS:

.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

  在你的网站上应用了这些代码后,嵌入的视频也是响应式(Responsive)的了。

 

3 – 字体

  本教程的最后一步绝对非常重要,但往往被网站开发人员忽视——字体。到现在为止,大多数开发人员(包括我自己)使用像素来定义字体的大小。虽然像素在普通网站使用是OK的,但是对于响应式网站来说应该有响应式的字体。事实上,一个响应式的字体大小应关联它的父容器的宽度,这样它才可以适应客户端的屏幕。

  CSS3 规范引入了一个新的单位叫 rem,和 em 类相似,但相对于 HTML 元素来说, rem 更易于使用。

  rem 是相对于 HTML 元素的,不要忘了重置 HTML 的字体大小:

 

html { font-size:100%; }

  

  完成后,您可以定义响应式的字体大小,如下所示:

 

@media (min-width: 640px) { body {font-size:1rem;} }
@media (min-width:960px) { body {font-size:1.2rem;} }
@media (min-width:1100px) { body {font-size:1.5rem;} }

  请注意,旧浏览器不支持 rem 单元,所以不要忘了实现一个替代。

  这就是今天的所有内容了,希望你会喜欢这个教程!记得推荐和分享啊!

 

您可能感兴趣的相关文章

  • 带给你灵感的20个漂亮的单页网站作品
  • 20个非常经典的国外单页网站作品示例
  • 分享35个非常漂亮的单页网站设计案例
  • 25个优秀的国外单页网站设计作品欣赏
  • 分享最新30个漂亮的单页网站设计案例

    
[2]jsp中定义方法
    来源: 互联网  发布时间: 2013-11-06

在jsp中,如果需要处理复杂数据时,在上方定义一个java方法是很有效的解决方案,把处理数据的责任推给该方法,然后该jsp页面的主流程就不受影响。当然也可以使用js定义方法来处理,js似乎更善于定义这样的方法来处理前台数据,但有时候jsp和js之间倒腾数据时会出乱码或者报一些找不到对象的错误,因此他们之间的互相传值还是越少越好。

看一看jsp中定义一个字符串处理的方法:

<%!
  String splitString(String str, int a) {
	if (str != null && str.trim().length() > 0 && a > 0) {
	// 取得该字符串的字节长度
	int length = str.getBytes().length;
	// 全部不包括汉字
	if (str.length() == length) {
	// 如果截取长度是字符串长度以内,就substring,否则就取这个字符串
	if (a < str.length()) {
	return str.substring(0, a);
	} else {
	return str;
	}
	} // 含有汉字
	else {
	StringBuffer sb = new StringBuffer();
	// 截取算法 遍历字符串,并且监测a值
	for (int i = 0; i < str.length() && a > 0; i++) {
	// 如果是汉字算2个长度。
	if (str.charAt(i) >= '\u4e00' && str.charAt(i) <= '\u9fa5') {
	// 如果是汉字且不是最后一个字符,就加上,否则不加
	if (a > 1) {
	sb.append(str.charAt(i));
	a -= 2;
	}
	// 不是汉字只算一个长度
	} else {
	sb.append(str.charAt(i));
	a--;
	}
	}
	return sb.toString();
	}
	}
	return "输入有误";
	}
	
%>

该方法的功能是,传入一个字符串和长度,返回截取后的字符串,长度会按照汉字两个、字母数字一个的方式来统计,如果最后一个是汉字,那么这个汉字就放弃掉,绝不能出现半个汉字的情况。

jsp中定义方法,需要注意以下几点:

1,需要使用<%!  %>这样的标签包起来,这是jsp中定义变量或者方法的标志。

2,如果在方法中需要使用内置对象out时,一定要在方法的参数列表中传过来,并且要让方法跑出一个IO异常。

3,方法的范围就不要定义了,反正就是内部使用,直接使用缺省范围的就可以了。

作者:xinfei0803 发表于2013-3-6 9:30:57 原文链接
阅读:3 评论:0 查看评论

    
[3]HTML5 – 一个拖拽功能的例子
    来源: 互联网  发布时间: 2013-11-06

我最近出席了一系列的研讨会,HTML5这个主题在这些会上反复出现。出于好奇我略看了几眼后,开始觉得应该好好的挖掘一下HTML5,看看它究竟会给我们今天技术上带来哪些好处。一个特别有意思的东西就是拖拽功能编程接口 … 早期的HTML编程开发者一直对此渴望却不可及。我感觉这个功能非常有用 … 拖拽功能的实现已经成了几个不费吹灰之力的函数调用了。


为了演示拖拽用例,我要创建一个简单的网络配置工具(UI),管理员可以用它来收集资源。你能在各个区域之间拖拽资源,往区域里添加资源,删除没有用的资源。出于教学的目的,我尽量使这个例子简单,但可以看到,依据这些基本的做法,你可以开发出一个全功能的网络管理工具。


下面就是我的例子,你可以试用一下 (需要Firefox 3.5 以上版本):

https://www.ibm.com/developerworks/mydeveloperworks/blogs/bobleah/resource/d_and_d.html?lang=en


 


实现拖拽功能的关键方法非常的简单,就像下面写的这样:

function dragIt(target, e) {
    e.dataTransfer.setData(‘SpanImg’, target.id);
}

function dropIt(target, e) {
    var id = e.dataTransfer.getData(‘SpanImg’);
    target.appendChild(document.getElementById(id));
    e.preventDefault();
}

我使用了table元素来实现布局结构,并把它当做ondrop事件的目标:

<td align=”center” width=”100″ id=”blue” ondrop=”dropIt(this, event)”ondragenter=”return false” ondragover=”return false”>   ….  </td>

我使用了span元素(包裹住图片)做拖拽对象:

<span draggable=”true” id=”t_1″ ondragstart=”dragIt(this, event)”><img src=/blog_article/%E2%80%9Dhttps_/www_ibm_com/developerworks/mydeveloperworks/blogs/bobleah/resource/tower.jpg>

 
你可以下载拖拽例子中的所有的HTML代码 点击下载.  


以我这初始的体验来看,HTML5将会提供给我们令人激动的用途。目前,这些API是有限制的,只在个别的浏览器里有效;对于我的例子,你需要在Firefox 3.5 版本以上才能运行。我将继续探索有哪些新功能今天我们可以使用,继续写更多的例子 … 请耐心等待!

 

原文链接:

HTML5 - code example of drag and drop on a web page

作者:roc1010 发表于2013-3-6 9:57:43 原文链接
阅读:50 评论:0 查看评论

    
最新技术文章:
 




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

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

浙ICP备11055608号-3