PHP 중국어 웹사이트
찾다
logo
  • 지역 사회
    • 조항
    • 주제
    • Q&A
  • 배우다
    • 강의
    • 프로그래밍 사전
  • 도구 라이브러리
    • 개발 도구
    • 웹사이트 소스 코드
    • PHP 라이브러리
    • JS 특수 효과
    • 웹사이트 자료
    • 확장 플러그인
  • AI 도구
  • 여가
    • 게임 다운로드
    • 게임 튜토리얼
Log in
logo
简体中文zh-cnEnglishen繁体中文zh-tw日本語ja한국어koMelayumsFrançaisfrDeutschde
logo
  • Bad article
  • My page title
  • All news articles
  • Avatar
  • Best practices
close
집웹 프론트엔드H5 튜토리얼前端编码风格规范之 HTML 规范

前端编码风格规范之 HTML 规范

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
May 17, 2016 am 09:07 AM
ht

英文原文:Web Styleguide - Style guide to harmonize HTML, Javascript and CSS / SASS coding style

HTML 规范

文档类型

推荐使用 HTML5 的文档类型申明: .

(建议使用 text/html 格式的 HTML。避免使用 XHTML。XHTML 以及它的属性,比如 application/xhtml+xml 在浏览器中的应用支持与优化空间都十分有限)。

HTML 中最好不要将无内容元素[1] 的标签闭合,例如:使用
而非
.


HTML 验证

一般情况下,建议使用能通过标准规范验证的 HTML 代码,除非在性能优化和控制文件大小上不得不做出让步。

使用诸如 W3C HTML validator 这样的工具来进行检测。

规范化的 HTML 是显现技术要求与局限的显著质量基线,它促进了 HTML 被更好地运用。

不推荐

  1. Test
  2. This is only a test.
复制代码


推荐



  1. Test
  2. This is only a test.
复制代码

省略可选标签

HTML5 规范中规定了 HTML 标签是可以省略的。但从可读性来说,在开发的源文件中最好不要这样做,因为省略标签可能会导致一些问题。

省略一些可选的标签确实使得页面大小减少,这很有用,尤其是对于一些大型网站来说。为了达到这一目的,我们可以在开发后期对页面进行压缩处理,在这个环节中这些可选的标签完全就可以省略掉了。

脚本加载

出于性能考虑,脚本异步加载很关键。一段脚本放置在 内,比如 ,其加载会一直阻塞 DOM 解析,直至它完全地加载和执行完毕。这会造成页面显示的延迟。特别是一些重量级的脚本,对用户体验来说那真是一个巨大的影响。

异步加载脚本可缓解这种性能影响。如果只需兼容 IE10+,可将 HTML5 的 async 属性加至脚本中,它可防止阻塞 DOM 的解析,甚至你可以将脚本引用写在 里也没有影响。

如需兼容老旧的浏览器,实践表明可使用用来动态注入脚本的脚本加载器。你可以考虑 yepnope 或 labjs。注入脚本的一个问题是:一直要等到 CSS 对象文档已就绪,它们才开始加载(短暂地在 CSS 加载完毕之后),这就对需要及时触发的 JS 造成了一定的延迟,这多多少少也影响了用户体验吧。

终上所述,兼容老旧浏览器(IE9-)时,应该遵循以下最佳实践。

脚本引用写在 body 结束标签之前,并带上 async 属性。这虽然在老旧浏览器中不会异步加载脚本,但它只阻塞了 body 结束标签之前的 DOM 解析,这就大大降低了其阻塞影响。而在现代浏览器中,脚本将在 DOM 解析器发现 body 尾部的 script 标签才进行加载,此时加载属于异步加载,不会阻塞 CSSOM(但其执行仍发生在 CSSOM 之后)。

所有浏览器中,推荐


  1.   
  2.    
  3.   
  4.   
  5.    

  6.    
  7.   
复制代码

只在现代浏览器中,推荐


  1.   
  2.    
  3.    
  4.   
  5.   
  6.    
  7.   
复制代码

语义化

根据元素(有时被错误地称作“标签”)其被创造出来时的初始意义来使用它。打个比方,用 heading 元素来定义头部标题,p 元素来定义文字段落,用 a 元素来定义链接锚点,等等。

有根据有目的地使用 HTML 元素,对于可访问性、代码重用、代码效率来说意义重大。

以下示例列出了一些的语义化 HTML 主要情况:

不推荐

  1. My page title

  2.   
    Home

  3.   
    News

  4.   
    About




  •   

  •    
    All news articles

  •    

  •       

    Bad article


  •       
    Introduction sub-title

  •       
    This is a very bad example for HTML semantics

  •       
    I think I'm more on the side and should not receive the main credits

  •       

  •         This article was created by David
    2014-01-01 00:00

  •       

  •    


  •    

  •       Related sections: Events, Public holidays
  •    

  •   




  •   Copyright 2014
  • 复制代码
    推荐



    1.   
    2.   

      My page title






    3.   
    4.   

    5.    
    6. Home

    7.    
    8. News

    9.    
    10. About

    11.   




    12.   
    13.   

    14.    
    15.    

    16.       
    17.       

      All news articles


    18.    

    19.    
    20.    

    21.       
    22.       

    23.         
    24.         
      Good article

    25.         
    26.         Introduction sub-title
    27.       

    28.       
    29.       

    30.         

      This is a good example for HTML semantics


    31.       

  •       
  •       

  •         

    I think I'm more on the side and should not receive the main credits


  •       
  •       
  •       

  •         
  •         

    This article was created by David 1 month ago


  •       
  •    

  •    
  •    

  •       

    Related sections: Events, Public holidays


  •    
  •   




  •   Copyright 2014
  • 复制代码
    多媒体回溯

    对页面上的媒体而言,像图片、视频、canvas 动画等,要确保其有可替代的接入接口。图片文件我们可采用有意义的备选文本(alt),视频和音频文件我们可以为其加上说明文字或字幕。

    提供可替代内容对可用性来说十分重要。试想,一位盲人用户如何能知晓一张图片是什么,要是没有 @alt 的话。

    (图片的 alt 属性是可不填写内容的,纯装饰性的图片就可用这么做:alt="")。

    不推荐

    1. 前端编码风格规范之 HTML 规范
    复制代码

    推荐

    1. Luke skywalker riding an alien horse
    复制代码

    尽量用 alt 标签去描述图片,设想你需要对于那些只能通过语音或者看不见图片的用户表达图片到底是什么。

    不推荐

    1. Header image
    复制代码

    推荐

    1. A huge spaceship that is approaching the earth
    复制代码

    关注点分离

    理解 web 中如何和为何区分不同的关注点,这很重要。这里的关注点主要指的是:信息(HTML 结构)、外观(CSS)和行为(JavaScript)。为了使它们成为可维护的干净整洁的代码,我们要尽可能的将它们分离开来。

    严格地保证结构、表现、行为三者分离,并尽量使三者之间没有太多的交互和联系。

    就是说,尽量在文档和模板中只包含结构性的 HTML;而将所有表现代码,移入样式表中;将所有动作行为,移入脚本之中。

    在此之外,为使得它们之间的联系尽可能的小,在文档和模板中也尽量少地引入样式和脚本文件。

    清晰的分层意味着:

    • 不使用超过一到两张样式表(i.e. main.css, vendor.css)
    • 不使用超过一到两个脚本(学会用合并脚本)
    • 不使用行内样式()
    • 不在元素上使用 style 属性(
      )
    • 不使用行内脚本(<script>alert('no good')</script>)
    • 不使用表象元素(i.e. , ,
      , , )
    • 不使用表象 class 名(i.e. red, left, center)

    不推荐




    1.   
    2.   
    3.   
    4.   


    5.   


    6.   I'm a subtitle and I'm bold!
    7.   
      Dare you center me!

    8.   <script><br> </script>
    9.     alert('Just dont...');
    10.   
    11.   
      I'm important!


    复制代码

    推荐




    1.   
    2.   


    3.   
    4.   


    5.   
    6.   
      I'm a subtitle and I'm bold!

    7.   
    8.   Dare you center me!
    9.   
    10.   
      I'm important!


    11.   
    12.   

    复制代码

    HTML 内容至上

    不要让非内容信息污染了你的 HTML。现在貌似有一种倾向:通过 HTML 来解决设计问题,这是显然是不对的。HTML 就应该只关注内容。

    HTML 标签的目的,就是为了不断地展示内容信息。

    • 不要引入一些特定的 HTML 结构来解决一些视觉设计问题
    • 不要将 img 元素当做专门用来做视觉设计的元素

    以下例子展示了误将 HTML 用来解决设计问题的这两种情况:

    不推荐



    1.   
    2.   See the square next to me?
    复制代码
    1. .text-box > .square {
    2.   display: inline-block;
    3.   width: 1rem;
    4.   height: 1rem;
    5.   background-color: red;
    6. }
    复制代码

    推荐



    1.   See the square next to me?
    复制代码

    1. /* We use a :before pseudo element to solve the design problem of placing a colored square in front of the text content */
    2. .text-box:before {
    3.   content: "";
    4.   display: inline-block;
    5.   width: 1rem;
    6.   height: 1rem;
    7.   background-color: red;
    8. }
    复制代码

    图片和 SVG 图形能被引入到 HTML 中的唯一理由是它们呈现出了与内容相关的一些信息。

    不推荐



    1.   Square
    2.   See the square next to me?
    复制代码

    推荐



    1.   See the square next to me?
    复制代码
    1. /* We use a :before pseudo element with a background image to solve the problem */
    2. .text-box:before {
    3.   content: "";
    4.   display: inline-block;
    5.   width: 1rem;
    6.   height: 1rem;
    7.   background: url(square.svg) no-repeat;
    8.   background-size: 100%;
    9. }
    复制代码

    Type 属性

    省略样式表与脚本上的 type 属性。鉴于 HTML5 中以上两者默认的 type 值就是 text/css 和 text/javascript,所以 type 属性一般是可以忽略掉的。甚至在老旧版本的浏览器中这么做也是安全可靠的。

    不推荐


    复制代码

    推荐


    复制代码

    可用性

    如果 HTML5 语义化标签使用得当,许多可用性问题已经引刃而解。ARIA 规则在一些语义化的元素上可为其添上默认的可用性角色属性,使用得当的话已使网站的可用性大部分成立。假如你使用 nav, aside, main, footer 等元素,ARIA 规则会在其上应用一些关联的默认值。 更多细节可参考 ARIA specification

    另外一些角色属性则能够用来呈现更多可用性情景(i.e. role="tab")。

    Tab Index 在可用性上的运用

    检查文档中的 tab 切换顺序并传值给元素上的 tabindex,这可以依据元素的重要性来重新排列其 tab 切换顺序。你可以设置 tabindex="-1" 在任何元素上来禁用其 tab 切换。

    当你在一个默认不可聚焦的元素上增加了功能,你应该总是为其加上 tabindex 属性使其变为可聚焦状态,而且这也会激活其 CSS 的伪类 :focus。选择合适的 tabindex 值,或是直接使用 tabindex="0" 将元素们组织成同一 tab 顺序水平,并强制干预其自然阅读顺序。

    微格式在 SEO 和可用性上的运用

    如果 SEO 和可用性环境条件允许的话,建议考虑采用微格式。微格式是通过在元素标签上申明一系列特定数据来达成特定语义的方法。

    谷歌、微软和雅虎对如何使用这些额外的数据一定程度上的达成一致,如果正确的使用,这将给搜索引擎优化带来巨大的好处。

    你可以访问 schema.org 获得更多内容细节。

    看一个电影网站的简单例子:

    不带微格式


    1. Avatar


    2. Director: James Cameron (born August 16, 1954)
    3. Science fiction
    4. Trailer
    复制代码

    带有微格式


    1.   

      Avatar


    2.   

    3.   Director: James Cameron (born August 16, 1954)
    4.   

  •   Science fiction
  •   Trailer
  • 复制代码
    ID 和锚点

    通常一个比较好的做法是将页面内所有的头部标题元素都加上 ID. 这样做,页面 URL 的 hash 中带上对应的 ID 名称,即形成描点,方便跳转至对应元素所处位置。

    打个比方,当你在浏览器中输入 URL http://your-site.com/about#best-practices,浏览器将定位至以下 H3 上。

    1. Best practices

    复制代码

    格式化规则

    在每一个块状元素,列表元素和表格元素后,加上一新空白行,并对其子孙元素进行缩进。内联元素写在一行内,块状元素还有列表和表格要另起一行。

    (如果由于换行的空格引发了不可预计的问题,那将所有元素并入一行也是可以接受的,格式警告总好过错误警告)。

    推荐


    1.   

      Space, the final frontier.





    2.   
    3. Moe

    4.   
    5. Larry

    6.   
    7. Curly




    8.   

    9.    

    10.       

    11.       

    12.    

    13.   

    14.   

    15.    

    16.       

    17.       

    18.    

    19.   

    20. Income Taxes
      $ 5.00 $ 4.50
    复制代码

    HTML 引号

    使用双引号(“”) 而不是单引号(“) 。

    不推荐

    复制代码

    推荐

    复制代码

    [1]: 此处的空白元素指的是以下元素:area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

    via:http://roshanca.com/2014/web-develop-styleguide-html/
    성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    관련 기사
    마스터 링 마이크로타 : HTML5를위한 단계별 안내서마스터 링 마이크로타 : HTML5를위한 단계별 안내서May 14, 2025 am 12:07 AM

    microdatainhtml5enhancesseoanduserexperiencebyprovidingstructureddatatosearchengines.1) useitemscope, itemtype, anditempropattriptomArkContentlikeProductSorevents.2) testMicrodataWithTools likeSgoogle'sStructureddatestStingStingStingStingSugingjson-ld

    HTML5 양식의 새로운 기능은 무엇입니까? 새로운 입력 유형 탐색HTML5 양식의 새로운 기능은 무엇입니까? 새로운 입력 유형 탐색May 13, 2025 pm 03:45 PM

    html5introducesnewinpestenhanceuserexperience, simplifydevelopment 및 improveAcessibility.1) 자동 ValidatesEmailformat.2) andsimplifydateandtimeinputs, retgenedforcustomsolutions.

    H5 이해 : 의미와 중요성H5 이해 : 의미와 중요성May 11, 2025 am 12:19 AM

    H5는 HTML의 다섯 번째 버전 인 HTML5입니다. HTML5는 웹 페이지의 표현력과 상호 작용성을 향상시키고 시맨틱 태그, 멀티미디어 지원, 오프라인 스토리지 및 캔버스 드로잉과 같은 새로운 기능을 소개하며 웹 기술 개발을 촉진합니다.

    H5 : 접근성 및 웹 표준 준수H5 : 접근성 및 웹 표준 준수May 10, 2025 am 12:21 AM

    웹 사이트에는 접근성 및 네트워크 표준 준수가 필수적입니다. 1) 접근성은 모든 사용자가 웹 사이트에 동등하게 액세스 할 수 있도록 보장합니다. 2) 네트워크 표준은 웹 사이트의 접근성 및 일관성을 향상시키기 위해, 3) 접근성은 시맨틱 HTML, 키보드 내비게이션, 색상 대비 및 대체 텍스트를 사용해야합니다.

    HTML의 H5 태그는 무엇입니까?HTML의 H5 태그는 무엇입니까?May 09, 2025 am 12:11 AM

    HTML의 H5 태그는 작은 타이틀 또는 하위 타이틀을 태그하는 데 사용되는 5 레벨 타이틀입니다. 1) H5 태그는 컨텐츠 계층을 개선하고 가독성과 SEO를 개선하는 데 도움이됩니다. 2) CSS와 결합하여 스타일을 사용자 정의하여 시각적 효과를 향상시킬 수 있습니다. 3) 학대를 피하고 논리적 컨텐츠 구조를 보장하기 위해 H5 태그를 합리적으로 사용하십시오.

    H5 코드 : 웹 구조에 대한 초보자 안내서H5 코드 : 웹 구조에 대한 초보자 안내서May 08, 2025 am 12:15 AM

    HTML5에서 웹 사이트를 구축하는 방법에는 다음이 포함됩니다. 1. 의미 태그를 사용하여 웹 페이지 구조를 정의하는 등; 2. 멀티미디어 컨텐츠, 사용 및 태그를 포함; 3. 양식 검증 및 로컬 스토리지와 같은 고급 기능을 적용하십시오. 이 단계를 통해 명확한 구조와 풍부한 기능을 갖춘 최신 웹 페이지를 만들 수 있습니다.

    H5 코드 구조 : 가독성을위한 컨텐츠 구성H5 코드 구조 : 가독성을위한 컨텐츠 구성May 07, 2025 am 12:06 AM

    합리적인 H5 코드 구조를 사용하면 페이지가 많은 컨텐츠 중에서 눈에 띄게 나타납니다. 1) 구조를 명확하게하기 위해 컨텐츠를 구성하려면 시맨틱 레이블 등을 사용하십시오. 2) Flexbox 또는 그리드와 같은 CSS 레이아웃을 통해 다른 장치에 대한 페이지의 렌더링 효과를 제어하십시오. 3) 반응 형 디자인을 구현하여 페이지가 다른 화면 크기에 맞게 조정되도록하십시오.

    H5 대 구형 HTML 버전 : 비교H5 대 구형 HTML 버전 : 비교May 06, 2025 am 12:09 AM

    HTML5 (H5)와 이전 버전의 HTML의 주요 차이점은 다음과 같습니다. 1) H5는 시맨틱 태그를 소개하고, 2) 멀티미디어 컨텐츠를 지원하며 3) 오프라인 스토리지 기능을 제공합니다. H5는 새로운 태그 및 API (예 : 및 태그)를 통해 웹 페이지의 기능과 표현성을 향상시켜 사용자 경험 및 SEO 효과를 향상 시키지만 호환성 문제에주의를 기울여야합니다.

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    Video Face Swap

    Video Face Swap

    완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    더보기

    인기 기사

    KB5055612 수정 방법 Windows 10에 설치되지 않습니까?
    4 몇 주 전ByDDD
    <gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
    4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
    <garden> : 정원 재배 - 완전한 돌연변이 가이드
    3 몇 주 전ByDDD
    Nordhold : Fusion System, 설명
    4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
    Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
    3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
    더보기

    뜨거운 도구

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

    SublimeText3 영어 버전

    SublimeText3 영어 버전

    권장 사항: Win 버전, 코드 프롬프트 지원!

    SecList

    SecList

    SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    안전한 시험 브라우저

    안전한 시험 브라우저

    안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

    더보기

    뜨거운 주제

    자바 튜토리얼
    1675
    14
    Cakephp 튜토리얼
    1429
    52
    라라벨 튜토리얼
    1333
    25
    PHP 튜토리얼
    1278
    29
    C# 튜토리얼
    1257
    24
    더보기

    공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!

    회사 소개부인 성명Sitemap

    © php.cn All rights reserved