8.3心得

网页怎样在分辨率不同的电脑上全屏显示
例子:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>实现两边固定宽度,中间自适应宽度-</title>
<style>
body{ margin:0; padding:10px;}
#head{ margin-bottom:10px; height:50px; background-color:#999999}
#main{}
#left{ width:200px; float:left;margin-right:-200px; background-color:#FF9900}
#mid{ width:auto;background:#00FF00;margin:0 220px;border:1px solid #000;}
#right{ width:200px;margin-left:-200px; float:right; background-color:#CCCC00}
#foot{ margin-top:10px; clear:both; height:50px; background-color:#CCCCCC}

</style>
</head>

<body>
<div id="head">我是头部</div>
<div id="main">
<div id="left">我是左边,宽:200px</div>
<div id="right">我是右边,宽:200px</div>
<div id="mid">我是中间,宽自适应</div>
</div>
<div id="foot">我是底部</div>
</body>
</html>
FF和IE7调试通过,别的没测,
特别强调注意样式里的数字准确性,和HTML中调用时注意把是:左右中

什么是闭包
闭包就是能够读取其他函数内部变量的函数。闭包可以简单理解成“定义在一个函数内部的函数“。
所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而

这些变量也是该表达式的一部分。
例子:
function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c = a();
c();
两个特点:
1、函数b嵌套在函数a内部;
2、函数a返回函数b。

百分比
百分比是一种表达比例,比率或分数数值的方法
实 质 一种表达比例,分数数值的方法
应 用 百分数在生活中无处不在
定 义 以100为分母的分数称为百分数
注意点 百分比后面不能接单位
意义
表示一个数是另一个数的百分之几的数叫百分数。百分数也叫做百分率或百分比,通常不写成分数的形

式,而采用百分号(%)来表示。如41%,1%等。由于百分数的分母都是100,也就是都以1%作单位,因此

便于比较。百分数只表示两个数的关系,所以百分号后不可以加单位。

响应式
响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据

用户行为以及使用的设备环境进行相对应的布局。
响应式网站设计(Responsive Web design)的理念是:
页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应

和调整。具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。无论

用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,

以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。响应式网页设计就是一个网

站能够兼容多个终端——而不是为每个终端做一个特定的版本。

自适应
自适应就是在处理和分析过程中,根据处理数据的数据特征自动调整处理方法、处理顺序、处理参数、

边界条件或约束条件,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果的

过程。
自适应过程是一个不断逼近目标的过程,它所遵循的途径以数学模型表示,称为自适应算法。通常采用

基于梯度的算法,其中最小均方误差算法(即LMS算法)尤为常用。

rem
rem(font size of the root element)是指相对于根元素的字体大小的单位。简单的说它就是一个相

对单位。
看到rem大家一定会想起em单位,em(font size of the element)是指相对于父元素的字体大小的单位

。它们之间其实很相似,只不过一个计算的规则是依赖根元素一个是依赖父元素计算。

em
<em> 标签告诉浏览器把其中的文本表示为强调的内容。对于所有浏览器来说,这意味着要把这段文字用

斜体来显示。
<em> 标签是一个短语标签,用来呈现为被强调的文本。
提示:我们并不反对使用这个标签,但是如果您只是为了达到某种视觉效果而使用这个标签的话,我们

建议您使用 CSS ,这样可能会取得更丰富的效果。
短语标签:
标签 描述
<em> 呈现为被强调的文本。
<strong> 定义重要的文本。
<dfn> 定义一个定义项目。
<code> 定义计算机代码文本。
<samp> 定义样本文本。
<kbd> 定义键盘文本。它表示文本是从键盘上键入的。它经常用在与计算机相关的文档或手

册中。
<var> 定义变量。您可以将此标签与 <pre> 及 <code> 标签配合使用.
全局属性
<em> 标签支持 HTML 的全局属性。
事件属性
<em> 标签支持 HTML 的事件属性。

流动布局(fluid grid)

"流动布局"的含义是,各个区块的位置都是浮动的,不是固定不变的。更多内容请查看流动布局的文章

代码
.main {
    float: right;
    width: 70%;
  }

  .leftBar {
    float: left;
    width: 25%;
  }
代码
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水

平方向overflow(溢出),避免了水平滚动条的出现。

另外,绝对定位(position: absolute)的使用,也要非常小心。

选择加载CSS

"自适应网页设计"的核心,就是CSS3引入的Media Query模块。

它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。

<link rel="stylesheet" type="text/css"
    media="screen and (max-device-width: 400px)"
    href="tinyScreen.css" />

上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css

文件。

<link rel="stylesheet" type="text/css"
    media="screen and (min-width: 400px) and (max-device-width: 600px)"
    href="smallScreen.css" />
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。

除了用html标签加载CSS文件,还可以在现有CSS文件中加载。

@import url("tinyScreen.css") screen and (max-device-width: 400px);

CSS的@media规则

同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
代码
@media screen and (max-device-width: 400px) {

    .column {
      float: none;
      width:auto;
    }

    #sidebar {
      display:none;
    }

  }
代码
上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(

width:auto),sidebar块不显示(display:none)。

相对大小的字体

字体也不能使用绝对大小(px),而只能使用相对大小(em)或者高清方案(rem),rem不局限于字体大

小,前面的宽度width也可以使用,代替百分比

body {
    font: normal 100% Helvetica, Arial, sans-serif;
  }

上面的代码指定,字体大小是页面默认大小的100%,即16像素。

h1 {
    font-size: 1.5em;

  }

然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。

small {
  font-size: 0.875em;
}
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。

尽量少使用绝对宽度

由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。

这一条非常重要。

具体说,CSS代码不能指定像素宽度:

通过指定百分比宽度来替代:同时还可以配合css的cal,进行计算宽度

width: xx%;
或者

width:auto;

允许网页宽度自动调整

"自适应网页设计"到底是怎么做到的?其实并不难。

首先,在网页代码的头部,加入一行viewport元标签

<meta name="viewport" content="width=device-width, initial-scale=1" />
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度

(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的

100%。

所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE6、7、8),需要使用css3

-mediaqueries.js。

<!--[if lt IE 9]>

<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-

mediaqueries.js"></script>

  <![endif]-->

自适应和响应式

先说共同点,两者都是因为越来越多的 移动设备( mobile, tablet device )加入到互联网中来而出

现的为移动设备提供更好的体验的技术。用技术来使网页适应从小到大(现在到超大)的不同分辨率的

屏幕.都是为了解决同一张页面在不同设备分辨率上合理展示的技术。

不同点:

响应式布局:不管用户使用的是什么设备都是在服务器把数据推送到浏览器后,脚本或CSS自行侦测屏幕

大小后执行对应的样式表内容,并且一直通过本地脚本在监听屏幕大小的变化,随时做出样式响应的变

化,所以是主动的。同一页面在不同大小设备可能呈现不一样的页面效果

自适应:不同大小设备呈现同样的页面效果,只是文字、图片等的大小不一样,但是相对位置一样。即

在不同大小设备看起来一样。

时间: 2024-08-03 00:06:03

8.3心得的相关文章

Delphi组件indy 10中IdTCPServer修正及SSL使用心得

indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

参加老男孩linux培训心得

参加老男孩linux培训心得 时间如白驹过隙,已经不知不觉来到老男孩培训已经三个月了.在这三个月中我渐渐得到了成长,专业技术成长,以及为人处事之道与思想的提高. 我一共就总结以下了三点     一.思想 在我刚来老男孩的时候,老师天天上课前讲一段思想,我当时不太明白,不赶紧上课,讲这干啥呢?而且老师早一点讲完,又可以招下一批学生了,老讲思想,这不是自断财路么?随着时间的流逝,渐渐的我悟懂了点.人在那里都可以学技术,但是学会了技术没有思想,一旦来了新事物,就会接受的很慢.尤其在互联网这个圈子里,软

Linux串口IO模式的一些心得

众所周知,在Linux系统下所有设备都是以文件的形式存在,串口也一样. 通常I/O操作都是有阻塞与非阻塞的两种方式. 其中"超时"这个概念其实是阻塞中的一种处理手段,本质还是属于阻塞的I/O模式. 在Linux中串口的IO操作 本文将它分为三种状态: 阻塞状态 超时状态 非阻塞状态 这三种状态的转换组合有这么几种: 阻塞 --> 超时 阻塞 --> 非阻塞 超时 --> 阻塞 超时 --> 非阻塞 非阻塞 --> 阻塞 我们一个一个来分析 首先在一个串口的

我的MYSQL学习心得(八)

我的MYSQL学习心得(八) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 这一篇<我的MYSQL学习心得(七)>将会讲解MYSQL的插入.更新和删除语句 同样的,只会讲解跟SQLSERVER不同的地方 插入 将多行查询结果插入到表中 语法 INSERT INTO table_name1(column_list1) SELECT (

《不要让我思考》读后心得2

---内容开始--- Don't let me think! 这本书以网站可用性为目的,从作者自身工作和经验角度,站在用户的心理立场上,介绍了作为设计者如何做出可用性的web设计. 其中包含的内容有: 1.别让我思考(定律) 当看到一个不需要思考的网站时: 当看到一个要思考的网站时: @创建一个网站时,要去掉这些问号. 有时候网站会强迫我们思考,名字,常见的罪魁祸首就是改成自以为很酷很聪明的,带有营销色彩的名字. 还有另一个来源是看起来不太明显的链接和按钮,会造成用户犹豫可不可点. @类似的例子

【管理心得之二十二】小人物 仰视 大授权

场景再现====================Boss:小王,来我办公室一下.小王: 嗯Boss:近期总公司有会,需要到外地出差几日.我不在的这段期间里,公司大小事务你帮忙处理一下.          如果有什么难决定的事,第一时间电话.邮件联系我商定即可.小王:  明白.放心吧领导,绝不会让你失望的Boss:嗯,那就好,没事了. {小王走出办公室} 心中暗喜,"难道这就是传说中的授权,Boss不在的时候,我岂不是最高权力的行使者." ==================== 从场景

python 爬虫抓取心得

quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'http://music.baidu.com/search?key='+query response = urllib.urlopen(url) text = response.read()

Android APP架构心得

前言 从JavaEE转到Android开发也2年多了,开发的项目也有4,5个了(公司项目),其中有3个项目前期都是自己独立开发,从一开始的毫无架构到现在对如何架构也有一点心得,所以在此分享出来,大家一起交流 什么是架构 在我看来,软件架构绝对不只是框架的堆砌,看我看来,架构是为了方便软件维护.扩展.安全性.切入性(我也不知道有没有人提出过这个关键字,因为的确很少看见,简单来说我这里说的切入性就是指一个以前没有接触过这个项目的人,能快速加入到这个项目中,对项目进行维护.修改和扩展) 维护性 一个好

java多线程心得

多并发的时候,在什么情况下必须加锁?如果不加锁会产生什么样的后果. 加锁的场景跟java的new thread和Runnable的关系是什么? 看看java的concurrentMap源码. 还有spring 的web.xml启动执行源码 spring aop http://www.cnblogs.com/FDROSE1001/p/3661895.html activemq的本质是什么? java的jms hibernate由配置文件映射到实体类的本质是什么? java反射 spring aop