为什么要用960px?——网页内容宽度分析

为什么要用960px?——网页内容宽度分析

液晶还没普及的年代,网页设计需要考虑800×600的分辨率。但如今800×600的分辨率使用率不到2%,已经可以忽略了。比这个分辨率高一级别的1024×768,使用率接近50%(国内),所以很多网站都是以1024的宽度为标准进行设计的,最常见的页面宽度是两种:1004960

早期的网页设计师使用1004px作为页面宽度,是基于这样的考虑:在1024*768的分辨率下打开IE,左边框宽度是2px,右边滚动条的宽度是18px,于是得出宽度就是1004px了。但这种宽度的设置并不利于栅格化布局的计算,如果选择三栏式的布局,就很难平均分配,所以现在很少有使用1004px宽度的网页了。

在比1004小的整数里,可以被较多数字整除的最大整数是960:

双栏布局:

三栏布局:

四栏布局:

所以,大多数设计师选择了960px作为网页的宽度。

确定了网页的宽度之后,接下来确定内容的宽度。通常我们都是直接按照黄金比例来进行划分,也就是将内容设定为600px,余下部分用作侧边导航。但内容的宽度还需要计算间距、留白,以及考虑文字和图片的搭配比例,比较规范的做法是绘制布局框架图

一、自建布局框架图

自制布局框架图适用于不借用电脑,只在纸上画设计草图的阶段。上图是Jason Beaird在Principles of Beautifu Web Design提出的一种内容布局方式,首先将一张960px的画布划分为九等份(上图前两步),再把第一行切出三分之一,最后再把每一列都对半分,就得到一张布局框架图了。依照此布局图安排内容即可(图片来自Principles of Beautifu Web Design)

二、模板布局框架图

960 Grid system中提供了很多现成的布局框架图。分12、16、24栏三种:

上图是12栏的样式图。静态网页样式图已经上传到本地,可以点击这里访问。使用Photoshop做页面设计的话,请直接下载psd文件

点击下载文件信息:960_grid.psd 大小:2MB

有效时间:永久

将现有内容按照布局框架图来组织,界面就会显得整洁、美观了。下图是一个典型的12栏布局的网站

### 使用 `postcss-pxtorem` 实现宽度和高度的自适应布局 为了使网页能够根据不同屏幕尺寸进行响应式调整,可以利用 `postcss-pxtorem` 将固定的 px 单位转换为相对单位 rem。这有助于创建更加灵活且易于维护的设计方案。 #### 安装依赖包 首先,在项目根目录下执行命令安装必要的 PostCSS 插件: ```bash npm install postcss postcss-pxtorem --save-dev ``` 接着配置 PostCSS 来启用这些插件。对于 Nuxt 或 Vue CLI 创建的应用程序来说,通常可以在项目的 `package.json` 文件内指定 PostCSS 配置选项;而对于 Vite 构建工具,则可能需要单独设置一个名为 `.postcssrc.js` 的文件来完成相同的工作[^2]。 #### 设置 PostCSS 配置 下面是一个典型的 PostCSS 配置实例,展示了如何集成 `postcss-pxtorem` 并对其进行参数化定制以便于处理宽度和高度属性中的像素值: ```javascript// .postcssrc.js or equivalent configuration file module.exports = { plugins: [ require('autoprefixer'), require('postcss-import'), require('postcss-preset-env')({ stage: 1, features: {'custom-properties': false} }), require('postcss-pxtorem')({ rootValue: 16, // 设定设计稿的基础字体大小,默认是16px propList: ['*'], // 对所有样式属性生效,也可以只针对特定属性如['font', 'line-height'] selectorBlackList: [], // 排除某些选择器不被转化成rem minPixelValue: 2, // 不小于该数值才转化为rem mediaQuery: true // 是否允许媒体查询里的px也转换为rem }) ] }; ``` 上述代码片段中设置了几个重要参数用于控制哪些 CSS 属性会被转换以及怎样计算最终的结果。特别是当涉及到宽高比例时,确保正确设定 `rootValue` 参数非常重要,因为它决定了整个文档流中文本节点的实际显示尺度[^3]。 #### 编写 HTML 和 CSS 一旦完成了以上准备工作之后就可以按照常规方式编写 HTML 结构并应用相应的类名或 ID 给目标容器。这里给出一段简单的例子说明如何定义具有动态变化特性的盒子模型: ```html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Responsive Box Example</title> <link rel="stylesheet" href="./styles.css"/> </head> <body> <div class="responsive-box"></div> </body> </html> ``` 对应的 CSS 样式表如下所示: ```css/* styles.css */ .responsive-box { width: 50%; /* 这里原本可能是固定像素值比如'375px'*/ height: calc(100vh / 2); /* 利用视窗单位配合calc函数实现半屏高的效果 */ background-color: lightblue; } @media (max-width: 600px){ .responsive-box{ width:90%; } } ``` 在这个案例里面,`.responsive-box` 类下的元素会根据当前窗口的比例自动调整自身的宽度至父级容器的一半,并保持其高度始终占据半个可视区域的高度。同时通过媒体查询语句进一步增强了组件在小型屏幕上表现得更好——即让它的宽度扩大到几乎填满整个可用空间[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值