【最佳网页宽度及其实现】「建议收藏」

1.设计网页的时候,确定宽度是一件很苦恼的事。以minifun…

大家好,又见面了,我是全栈君。

1.

设计网页的时候,确定宽度是一件很苦恼的事。


以minifun.cn为例,根据Google Analytics的统计,半年多以来,访问者的屏幕分辨率一共有81种。最小的分辨率是122×160,这应该是手机;最大的分辨率是3360×1050,天知道是什么设备。

一张网页要在大小如此悬殊的各种屏幕上,都呈现令人满意的效果,难度可想而知。举例来说,一张400px宽的图片,在800px的屏幕上会占据50%的宽度,而在1920px的屏幕上(Windows Vista的流行设置),只占据20%。

2.

目前,常见的屏幕分辨率宽度大概有6种:800px,1024px,1280px,1440px,1680px和1920px。其中,1024px最常见,但是随着大屏幕显示器的流行,更高的分辨率正变得越来越多。

常见的解决方法有两种:

第一种:用javascript根据不同的客户端分辨率,选择css样式表文件,具体的做法可以看这里。

第二种:采用弹性布局(Fluid Width Layout),实现网页宽度的自适应。

第一种方法的优点是,可以根据不同屏幕分辨率,采用完全不同的布局,缺点是要设计和维护多张样式表,比较麻烦。第二种方法只采用一张样式表,比较省事。

下文就根据css-tricks上的解决方案,讨论如何实现第二种方法,实际上是很简单的。

【最佳网页宽度及其实现】「建议收藏」

3.

首先,网页的缺省宽度,确定为满足1024px宽度的显示器。这不仅因为1024×768是现在最常见的分辨率,还因为这个宽度对网页最合适:1)它放得下足够的内容,足够三栏的布局;2)单行文字不宜太长,1024px已是极限,否则容易产生阅读疲劳;3)在当前的互联网带宽条件下,网页难以采用大分辨率所要求的大尺寸图片。

其次,网页宽度会在780px-1260px的范围内,自动变化,即最小不小于780px,最大不超过1280px。

最后,对于更大的分辨率,网页内容会自动居中。

4.

下面就是CSS文件的写法,只要4行。需要注意的是,这几行的语句都针对整个页面,即body标签或者最外层的那个div区域。

margin: 10px auto;

这一行保证了网页在任何分辨率下,都会居中。

min-width: 780px;
max-width: 1260px;

这二行规定了网页的最小和最大宽度。注意,IE6不支持这二行,即它们在IE6中是无效的。

width:expression(document.body.clientWidth < 782? “780px” : document.body.clientWidth > 1262? “1260px” : “auto”);

这一行是针对IE6的解决方法。它采用了CSS表达式,也可以通过javascript实现。

另外,如果想让内层的各个区块也自动伸缩,它们的宽度可以采用百分比的形式,比如:

#div-left{
width:50%;
}

#div-right{
width:50%;
}

最后的效果和源码下载请查看这里。通过变动浏览器窗口的大小,可以发现网页在780px-1260px的范围内会自动伸缩。

5.

最后,建议大家平时使用计算机的时候,不要盲目采用高分辨率,意义不大。

(完)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120847.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • StringTokenizer的使用「建议收藏」

    StringTokenizer的使用「建议收藏」StringTokenizer是一个用来分隔String的应用类。1. 构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer(String str, String d…

  • nfc怎么复制门禁卡,相关教程在这里

    nfc怎么复制门禁卡,相关教程在这里  在生活中小区、学校都有门禁的,为了保证安全,每一次都要刷门禁卡才能进去,但有时忘记了或者丢了怎么办呢,拉下来看看相关教程。  当然,不是所有的门禁卡都能模拟,所以我们就需要了解你的门禁卡是否是能模拟的类型。  门禁卡一般分为:ID卡和IC卡。而EM卡、M1卡、CPU卡等等,都是这两种卡的细分。  我们看上面这张图。在这张图中,卡是按工作频率来分的:ID卡的工作频率为125KHz频率,而IC卡的工作频率为13.56MHz以上。显然看出,因为IC卡的频率高,所以,它的安全性比较高。小区基本上选择

  • 函数声明[通俗易懂]

    函数声明[通俗易懂]语法描述通过函数声明构造的函数是Function对象,所以拥有一切Function对象所有的属性,方法和行为。函数默认返回undefined,如果想返回其他值,函数必须使用return语句来返回

  • 一张图看懂字节跳动8年创业史,太励志了吧

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 转载自| BAT(id:batfun) 字节跳动可以说是这两年 最受关注的互联网公司之一 2020年3月12日 字节…

  • CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」

    CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」CefSharp是做什么用的?请看前一篇文章:怎么用c#编写浏览器或者执行javascript代码?之后就是如何开发了。这个CefSharp最坑的是,还早不到文档,只能看着官方给的例子开发。项目地址那么就可以看到,带有example的都是例子。我给大家举2个例子。1.事件添加:我想让我的程序出了网页上的js代码,再额外的执行我自己写的js,怎么办呢?InitializeCom

  • Android SDK下载失败解决[通俗易懂]

    Android SDK下载失败解决[通俗易懂]安装androidstudio的时候遇到了这个问题。解决方法是使用andoridsdk的中国在线更新地址可以到这个网站找服务器地址http://www.androiddevtools.cn/启动AndroidSDKManager,打开主界面,依次选择『Tools』、『Options…』,弹出『AndroidSDKManager-Settings』窗口;在…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号