整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

创建HTML网页时,可以采用多种布局和设计风格

建HTML网页时,可以采用多种布局和设计风格。以下是一些常见的网页形态名称,可用于不同的网站设计和功能需求:

1. **门户网站** - 集成了新闻、天气预报、邮箱等服务的网站。

2. **企业网站** - 用于展示公司信息、产品和服务。

3. **电子商务网站** - 用于在线销售商品。

4. **博客** - 用于个人或公司发布文章和日志。

5. **社交媒体网站** - 如Facebook和Twitter,用于社交互动。

6. **论坛** - 用户可以发帖和回帖讨论特定主题。

7. **新闻网站** - 提供新闻文章和更新。

8. **教育网站** - 用于在线课程和学术资源。

9. **政府网站** - 提供政府服务和信息。

10. **非营利组织网站** - 用于宣传和筹款。

11. **个人作品集** - 展示个人作品,如设计师和艺术家。

12. **在线百科全书** - 如维基百科,提供大量信息。

13. **食谱网站** - 提供食谱和烹饪技巧。

14. **健康与健身网站** - 提供健康和健身相关内容。

15. **旅行网站** - 提供旅行信息和预订服务。

16. **房地产网站** - 展示房产信息和经纪人。

17. **汽车网站** - 提供汽车信息和销售服务。

18. **科技新闻网站** - 关注最新科技发展和产品。

19. **音乐网站** - 提供音乐播放和下载。

20. **视频分享网站** - 如YouTube,用户可以上传和分享视频。

21. **电影数据库** - 如IMDb,提供电影信息和评论。

22. **体育网站** - 提供体育新闻和赛事信息。

23. **财经网站** - 提供股票市场和财经新闻。

24. **摄影网站** - 展示和分享摄影作品。

25. **时尚网站** - 提供时尚新闻和趋势。

26. **宠物网站** - 提供宠物护理和相关信息。

27. **美食博客** - 分享美食制作和餐厅评论。

28. **儿童网站** - 提供儿童教育和娱乐内容。

29. **DIY网站** - 提供手工制作和DIY项目。

30. **游戏网站** - 提供在线游戏和游戏新闻。

31. **星座占卜网站** - 提供星座运势和占卜。

32. **招聘网站** - 提供职位信息和求职服务。

33. **个人博客** - 个人分享生活和观点的博客。

34. **科技博客** - 关注科技产品和公司动态。

35. **书评网站** - 提供书籍评论和推荐。

36. **旅游博客** - 分享旅行经历和攻略。

37. **艺术画廊网站** - 展示和销售艺术品。

38. **在线市场** - 如Etsy,提供手工艺品和独特商品。

39. **在线课程平台** - 提供各种在线课程和培训。

40. **语言学习网站** - 提供语言学习和练习工具。

41. **健康咨询网站** - 提供健康和医疗建议。

42. **心理健康网站** - 提供心理健康信息和资源。

43. **个人财务网站** - 提供个人理财建议和工具。

44. **投资网站** - 提供投资策略和市场分析。

45. **环境与自然网站** - 关注环境保护和自然话题。

46. **历史与文化网站** - 提供历史和文化知识。

47. **宗教与灵性网站** - 提供宗教和灵性内容。

48. **政治评论网站** - 提供政治新闻和评论。

49. **在线论坛** - 用户可以讨论各种主题。

50. **慈善网站** - 用于宣传和筹集慈善捐款。

这些形态的名称代表了不同的网站类型和功能,可以根据您的需求和目标受众选择合适的网站形态。

码必须尽可能的清晰和易读。

这实际上是一种编程艺术 —— 以一种正确并且人们易读的方式编码来完成一个复杂的任务。一个良好的代码风格大大有助于实现这一点。

一、语法

下面是一个备忘单,其中列出了一些建议的规则(详情请参阅下文):

现在,让我们详细讨论一下这些规则和它们的原因吧。

没有什么规则是“必须”的

没有什么规则是“刻在石头上”的。这些是风格偏好,而不是宗教教条。

二、花括号

在大多数的 JavaScript 项目中,花括号以 “Egyptian” 风格(译注:“egyptian” 风格又称 K&R 风格 — 代码段的开括号位于一行的末尾,而不是另起一行的风格)书写,左花括号与相应的关键词在同一行上 — 而不是新起一行。左括号前还应该有一个空格,如下所示:

if (condition) {
  // do this
  // ...and that
  // ...and that
}

单行构造(如 if (condition) doSomething())也是一个重要的用例。我们是否应该使用花括号?如果是,那么在哪里?

下面是这几种情况的注释,你可以自己判断一下它们的可读性:

  1. 初学者常这样写。非常不好!这里不需要花括号:if (n < 0) {alert(`Power ${n} is not supported`);}
  2. 拆分为单独的行,不带花括号。永远不要这样做,添加新行很容易出错:if (n < 0) alert(`Power ${n} is not supported`);
  3. 写成一行,不带花括号 — 如果短的话,也是可以的:if (n < 0) alert(`Power ${n} is not supported`);
  4. 最好的方式:if (n < 0) { alert(`Power ${n} is not supported`); }

对于很短的代码,写成一行是可以接受的:例如 if (cond) return null。但是代码块(最后一个示例)通常更具可读性。

三、行的长度

没有人喜欢读一长串代码,最好将代码分割一下。

例如:

// 回勾引号 ` 允许将字符串拆分为多行
let str = `
  ECMA International's TC39 is a group of JavaScript developers,
  implementers, academics, and more, collaborating with the community
  to maintain and evolve the definition of JavaScript.
`;

对于 if 语句:

if (
  id === 123 &&
  moonPhase === 'Waning Gibbous' &&
  zodiacSign === 'Libra'
) {
  letTheSorceryBegin();
}

一行代码的最大长度应该在团队层面上达成一致。通常是 80 或 120 个字符。

四、缩进

有两种类型的缩进:

  • 水平方向上的缩进:2 或 4 个空格。一个水平缩进通常由 2 或 4 个空格或者 “Tab” 制表符(key Tab)构成。选择哪一个方式是一场古老的圣战。如今空格更普遍一点。选择空格而不是 tabs 的优点之一是,这允许你做出比 “Tab” 制表符更加灵活的缩进配置。例如,我们可以将参数与左括号对齐,像下面这样:
show(parameters,
     aligned, // 5 spaces padding at the left
     one,
     after,
     another
  ) {
  // ...
}
  • 垂直方向上的缩进:用于将代码拆分成逻辑块的空行。即使是单个函数通常也被分割为数个逻辑块。在下面的示例中,初始化的变量、主循环结构和返回值都被垂直分割了:
function pow(x, n) {
  let result = 1;
  //              <--
  for (let i = 0; i < n; i++) {
    result *= x;
  }
  //              <--
  return result;
}


插入一个额外的空行有助于使代码更具可读性。写代码时,不应该出现连续超过 9 行都没有被垂直分割的代码。

五、分号

每一个语句后面都应该有一个分号。即使它可以被跳过。

有一些编程语言的分号确实是可选的,那些语言中也很少使用分号。但是在 JavaScript 中,极少数情况下,换行符有时不会被解释为分号,这时代码就容易出错。更多内容请参阅 代码结构 一章的内容。

如果你是一个有经验的 JavaScript 程序员,你可以选择像 StandardJS 这样的无分号的代码风格。否则,最好使用分号以避免可能出现的陷阱。大多数开发人员都应该使用分号。

六、嵌套的层级

尽量避免代码嵌套层级过深。

例如,在循环中,有时候使用 continue 指令以避免额外的嵌套是一个好主意。

例如,不应该像下面这样添加嵌套的 if 条件:

for (let i = 0; i < 10; i++) {
  if (cond) {
    ... // <- 又一层嵌套
  }
}

我们可以这样写:

for (let i = 0; i < 10; i++) {
  if (!cond) continue;
  ...  // <- 没有额外的嵌套
} //多用这种风格。

使用 if/elsereturn 也可以做类似的事情。

例如,下面的两个结构是相同的。

第一个:

function pow(x, n) {
  if (n < 0) {
    alert("Negative 'n' not supported");
  } else {
    let result = 1;

    for (let i = 0; i < n; i++) {
      result *= x;
    }

    return result;
  }
}

第二个:

function pow(x, n) {
  if (n < 0) {
    alert("Negative 'n' not supported");
    return;
  }

  let result = 1;

  for (let i = 0; i < n; i++) {
    result *= x;
  }

  return result;
}

但是第二个更具可读性,因为 n < 0 这个“特殊情况”在一开始就被处理了。一旦条件通过检查,代码执行就可以进入到“主”代码流,而不需要额外的嵌套。

七、函数位置

如果你正在写几个“辅助”函数和一些使用它们的代码,那么有三种方式来组织这些函数。

  1. 在调用这些函数的代码的 上方 声明这些函数:
// function declarations
function createElement() {
  ...
}

function setHandler(elem) {
  ...
}

function walkAround() {
  ...
}

// the code which uses them
let elem = createElement();
setHandler(elem);
walkAround();
  1. 先写调用代码,再写函数
// the code which uses the functions
let elem = createElement();
setHandler(elem);
walkAround();

// --- helper functions ---
function createElement() {
  ...
}

function setHandler(elem) {
  ...
}

function walkAround() {
  ...
}
  1. 混合:在第一次使用一个函数时,对该函数进行声明。

大多数情况下,第二种方式更好。

这是因为阅读代码时,我们首先想要知道的是“它做了什么”。如果代码先行,那么在整个程序的最开始就展示出了这些信息。之后,可能我们就不需要阅读这些函数了,尤其是它们的名字清晰地展示出了它们的功能的时候。

八、风格指南

风格指南包含了“如果编写”代码的通用规则,例如:使用哪个引号、用多少空格来缩进、一行代码最大长度等非常多的细节。

当团队中的所有成员都使用相同的风格指南时,代码看起来将是统一的。无论是团队中谁写的,都是一样的风格。

当然,一个团队可以制定他们自己的风格指南,但是没必要这样做。现在已经有了很多制定好的代码风格指南可供选择。

一些受欢迎的选择:

  • Google JavaScript 风格指南
  • Airbnb JavaScript 风格指南
  • Idiomatic.JS
  • StandardJS
  • 还有很多……

如果你是一个初学者,你可以从本章中上面的内容开始。然后你可以浏览其他风格指南,并选择一个你最喜欢的。

九、自动检查器

检查器(Linters)是可以自动检查代码样式,并提出改进建议的工具。

它们的妙处在于进行代码风格检查时,还可以发现一些代码错误,例如变量或函数名中的错别字。因此,即使你不想坚持某一种特定的代码风格,我也建议你安装一个检查器。

下面是一些最出名的代码检查工具:

  • JSLint — 第一批检查器之一。
  • JSHint — 比 JSLint 多了更多设置。
  • ESLint — 应该是最新的一个。

它们都能够做好代码检查。我使用的是 ESLint。

大多数检查器都可以与编辑器集成在一起:只需在编辑器中启用插件并配置代码风格即可。

例如,要使用 ESLint 你应该这样做:

  1. 安装 Node.JS。
  2. 使用 npm install -g eslint 命令(npm 是一个 JavaScript 包安装工具)安装 ESLint。
  3. 在你的 JavaScript 项目的根目录(包含该项目的所有文件的那个文件夹)创建一个名为 .eslintrc 的配置文件。
  4. 在集成了 ESLint 的编辑器中安装/启用插件。大多数编辑器都有这个选项。

下面是一个 .eslintrc 文件的例子:

{
  "extends": "eslint:recommended",
  "env": {
    "browser": true,
    "node": true,
    "es6": true
  },
  "rules": {
    "no-console": 0,
    "indent": 2
  }
}

这里的 "extends" 指令表示我们是基于 “eslint:recommended” 的设置项而进行设置的。之后,我们制定我们自己的规则。

你也可以从网上下载风格规则集并进行扩展。有关安装的更多详细信息

此外,某些 IDE 有内置的检查器,这非常方便,但是不像 ESLint 那样可自定义。

十、总结

本文描述的(和提到的代码风格指南中的)所有语法规则,都旨在帮助你提高代码可读性。它们都是值得商榷的。

当我们思考如何写“更好”的代码的时候,我们应该问自己的问题是:“什么可以让代码可读性更高,更容易被理解?”和“什么可以帮助我们避免错误?”这些是我们讨论和选择代码风格时要牢记的主要原则。

阅读流行的代码风格指南,可以帮助你了解有关代码风格的变化趋势和最佳实践的最新想法。

T之家12月9日消息 微软对Chromium开源项目非常感兴趣,因为该项目对Edge和Chrome都有利。微软最新的功能请求之一就是希望通过部署Edge HTML风格的滚动特性从而让Chromium的滚动变得更加灵敏。

微软打算将Impulse样式(即EdgeHTML样式)滚动动画加入到Chromium中,微软已经将该滚动动画移植到了基于Chromium的Edge浏览器的Dev Canary通道中。默认情况下,Edge浏览器中启用了脉冲样式的滚动动画。对于Chrome,该功能可能会在未来几天内出现在试验版浏览器中。

微软表示,Impulse-style (也就是EdgeHTML-style)滚动动画将提供更灵敏的滚动体验,用户启用后鼠标滚轮的每个刻度都试图模仿基于物理的内容,内容会开始快速移动然后逐渐变慢。换句话说,由于开始时的快速加速,该模式会给人一种更灵敏的感觉。

此外微软还在推行另一项称之为“percent-based scrolling”(基于百分比的滚动)的滚动方案,该模式允许浏览器将鼠标滚轮或者键盘滚动解释为预期滚动条的百分比。微软目前正努力将经典版Edge浏览器的优秀特性移植到Chromium平台上,包括这项基于百分比的滚动方式。