웹 프론트엔드 HTML 튜토리얼 Web前端代码规范与页面布局_html/css_WEB-ITnose

Web前端代码规范与页面布局_html/css_WEB-ITnose

Jun 24, 2016 am 11:39 AM

一、    规范目的:

为提高工作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,在 网站建设中,使结构更加清晰,代码简明有序,有一个更好的前端架构,有利于SEO优化。

 

二、    规范基本准则:

符合web标准,使用具有语义的标签,使结构、表现、行为分离,兼容性优良,页面性能优化,代码简洁、明了、有序,尽可能的减少服务器的负载,保证最快的解析速度。

 

三、 文件规范:

html、css、js、images文件均归档至约定的目录中。

 

1.    html

(1)编码:所有编码均采用xhtml,标签必须闭合,属性值用双引号包括,编码统一为utf-8。

(2)语义化:语义化html,正确使用标签,充分利用无兼容性问题的 html自身标签。

(3)文件命名:命名以中文命名,依实际模块命名,如同一模块以_&title&_来组合命名,以方便添加功能时查找对应页面。

(4)文件头部head的内容

  •   title,需要添加标题
  •   编码charset=UTF-8 
  •  缓存:
  •  

     

     

    Content=’-1’表示立即过期。

  • 添加description、keywords内容
  •   Robots content部分有四个指令选项:index、noindex、follow、nofollow,用‘,’分隔,如:

      在head标签内引入css文件,有助于页面渲染

      引入样式文件或 JavaScript文件时, 须略去默认类型声明.

      页脚引入javascript文件

    (5)连接地址标签:书写链接地址时,避免重定向,如href=” http://www.100sucai.com/”,需在地址后面加‘/’

    (6)尽可能减少div嵌套,如:根据重要性使用h1-6标签,段落使用p,列表使用ul,内联元素中不可嵌套块级元素,为含有描述性表单元素(input,tetarea)添加label

    (7)图片

      能以背景形式呈现的图片,尽量写入css样式中

      区分作为内容的图片和作为背景的图片,作为背景的图片采用Css sprite技术,放在一张大图里

      重要图片必须加上alt属性,给重要的元素和截断的元素加上title

    (8)注释:给区块代码及重要功能加上注释,方便后台添加功能

    (9)转义字符:特殊符号使用转义字符

    (10)页面架构时考虑扩展性

     

    2. Css

    (1)页面内部尽量避免使用style属性

    (2)css放在head标签中,由link标签引入,使页面的结构与表现分离。

    (3)文件命名:以英文命名,后缀.css,共用:base.css,首页:index.css,其他页面样式依具体模块需求命名

    (4)编码统一为utf-8

    (5)Class与id的使用:

      Id:具有唯一性,是父级的,用于标识页面上的特定元素,如header/footer/wrapper/left/right之类

      Class:可以重复使用,是子级的,可用于页面上任意多个元素

      命名:以小写英文字母、数字、下划线组合命名,避免使用中文拼音,尽量使用简易的单词组合,避免使用拼音,采用驼峰命名法和划线命名法,提高可读性,如:dropMenu、sub_nav_menu、drop-menu等。

    (6)为JavaScript预留钩子的命名, 以 js_ 起始, 比如:js_hide, js_show

    (7)书写代码前,考虑样式重复利用率,充分利用html自身属性及样式继承原理减少代码量,代码建议单行书写,利于后期管理

    (8)图片

      命名:小写英文字母、数字、_ 的组合,使用有意义的名称或英文简写,最好不要使用汉语拼音,区分大写字。

      使用sprite技术, 减小http请求,sprite按模块制作

    (9)书写顺序:保证同类型属性写在一起,一般遵循布局定位属性?>自身属性?>文本属性?>其他属性的书写格式

    (10)书写顺序规则

      定位属性(比如:display, position, float, clear, visibility, table-layout等)

      自身属性(比如:width, height, margin, padding, border等)

      文本属性(比如:font, line-height, text-align, text-indent, vertical-align等)

      其他属性(比如:color, background, opacity, cursor,content, list-style, quotes等)

    (11)缩进:统一使用tab进行缩进

    (12)样式表中中文字体名,最好转成unicode码,以避免编码错误时乱码。

    (13)减少影响性能的属性,如:position,float

    (14)为大区块样式添加注释,小区块适量注释。

     

    3. Javascript

    (1)文件编码统一为utf-8, 书写时, 每行代码结束必须有分号‘;’,尽量根据需求编写原生代码开发,以避免造成的代码污染(沉冗代码 || 与现有代码冲突 || …)等问题

    (2)在页脚引入 javascript脚本,采用外链引入形式,使页面的结构与行为分离

    (3)命名:

      文件命名:以英文命名,后缀为.js,共用:common.js,其他命名可根据模块需求命名

      变量命名:驼峰式命名,原生JavaScript变量要求是纯英文字母, 首字母须小写, 如iTaoLun。变量集中声明, 避免全局变量

      类命名:首字母大写,  驼峰式命名. 如 ITaoLun;

     函数命名: 首字母小写驼峰式命名. 如iTaoLun();

      命名语义化, 尽可能利用英文单词或其缩写;

    (4)规则

      尽量避免使用存在兼容性及消耗资源的方法或属性

      后期优化中, JavaScript非注释类中文字符须转换成unicode编码使用, 以避免编码错误时乱码显示

      代码结构明了, 加适量注释. 提高函数重用率

      注重与html分离, 减小reflow, 注重性能.

     

    4. 注释规范

    (1)html:注释格式,”-”只能在注释的始末位置,不可置入注释文字区域

    (2)Css:注释格式

    (3)Javascript:单行注释://这儿是注释,多行注释:

     

    5. Css Hack 特殊符号

    (1)* :IE6/7都能识别*,标准浏览器不识别

    (2)_:只有IE6识别

    (3)!Important:IE6不识别,Firefox,IE7/8/9、chorme等主流浏览器均识别

    (4)\9:所有浏览器均识别,包括IE6/7/8

    (5)+:IE6/7/8识别

    (6)书写顺序:先写FF等非IE浏览器所需样式,其次IE8,再次IE7,最后写IE6

     

    四、  自适应页面布局(主要平台为ios和安卓,所以此不考虑IE兼容性)

    1.      布局细节

      首先头部head中加入meta新标签

      ,让网页宽度默认等于屏幕宽度,原始缩放比例为1.0,即100%显示。

      Position:不能使用绝对定位

      Width:不能使用px宽度,应使用百分比或auto

      Font:不能使用绝对大小,应使用em

     

    2.     流式布局float的使用

    各个区块的位置都是浮动的,不是固定不变的。float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。

     

    3.       CSS3引入的Media Query模块,可自动探测屏幕宽度,加载相应的CSS文件

     ,屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件

      ,如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。

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

      同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。

    @media screen and (max-device-width: 400px) {

        .column {

          float: none;

          width:auto;

        }

     

    转自:http://blog.sina.com.cn/s/blog_6c2f334c01018rmz.html

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    핫 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 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

    AI Hentai를 무료로 생성하십시오.

    인기 기사

    R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 채팅 명령 및 사용 방법
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

    기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

    & lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

    이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

    & lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

    이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

    HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

    이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

    & lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

    이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

    뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? 뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? Mar 20, 2025 pm 05:56 PM

    이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

    & lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? & lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? Mar 20, 2025 pm 06:05 PM

    이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

    HTML은 초보자를 위해 쉽게 배우나요? HTML은 초보자를 위해 쉽게 배우나요? Apr 07, 2025 am 12:11 AM

    HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

    See all articles