zoukankan      html  css  js  c++  java
  • HTML&CSS

    HTML5新特性

    简洁的DOCTYPE:

    HTML5 只有一个简单的文档类型:<!DOCTYPE html>,表示浏览器会按照标准模式解析。

    简单易记的编码类型

    你现在可以在meta 标签中使用”charset”:<meta charset=”utf-8″ />

    脚本和链接无需type

    <link rel="stylesheet" href="path/to/stylesheet.css" />
    <script src="path/to/script.js"></script>
    

    更加语义化的新增标签

    比如说:<article>、<section>、<aside>、<hgroup>、 <header>,<footer>、<nav>、<time>、<mark>、<figure> 和<figcaption>

    视频和音频

    <video width="640" height="320" preload="auto" poster="0.jpg" controls>
    	<source src="movie.ogg" type="video/ogg" />
      	<source src="movie.mp4" type="video/mp4" />
    	Your browser does not support the video tag.
    </video>
    

    表单增强

    • 新的input类型:color, email, date, month, week, time, datetime, datetime-local, number,range,search, tel, 和url
    • 新属性:required, autofocus, pattern, list, autocomplete 和placeholder
    • 新元素:<keygen>, <datalist>, <output>, <meter> 和<progress>

    canvas标签绘制2D图形。

    var canvas = document.getElementById('canvas');
    var context = canvas.getContext('2d');
    context.beginPath();
    context.moveTo(100,100);
    context.lineTo(300,300);
    context.lineTo(100,500);
    context.lineWidth = 5;
    context.strokeStyle = "red";
    context.stroke();
    

    地理位置获取

    HTML语义化

    1.什么是HTML语义化?

    通过标签判断内容语义,例如根据h1标签判断出内容是标题,根据<p>判断内容是段落、<input>标签是输入框等。

    2.为什么要语义化?

    1).去掉或样式丢失的时候能让页面呈现清晰的结构
    2).方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页
    3).有利于SEO
    4).便于团队开发和维护,遵循W3C标准,可以减少差异化

    3.如何确定你的标签是否语义良好?

    去掉样式,看网页结构是否组织良好有序,是否仍然有很好的可读性。

    4.常见的语义化标签模块

    表单

    <form action="" method="">
    	<fieldset style="border: none">
    		<legend style="display: none">登录表单</legend>
    		<p><label for="name">账号:</label><input type="text" id="name"></p>
    		<p><label for="pw">密码:</label><input type="password" id="pw"></p>
    		<input type="submit" name="登录" class="subBtn">
    	</fieldset>
    </form>
    

    表单域要用fieldset标签包起来,并用legend标签说明表单的用途;每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。

    5.语义化标签应注意的一些问题

    • 尽可能少的使用无语义的标签div和span;
    • 在语义不明显时,既可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利;
    • 不要使用纯样式标签,如:b、font、u等,改用css设置。
    • 需要强调的文本,可以包含在strong或者em标签中,strong默认样式是加粗(不要用b),em是斜体(不用i)

    6.HTML标签分类

    块级标签

    特点:独占一行,可以设置宽度和高度,默认宽度为100%;
    这类标签有:div、p、h1、h2、ul、li,ol,form

    行内(内联)标签

    特点:多个行内标签能同时显示在一行,宽度和高度取决于内容的尺寸。
    这类标签有:span、a、label、i、strong

    行内-块级标签

    特点:多个行内-块级标签可以显示在同一行,能随时设置宽度和高度。
    这类标签有:input,button,img。
    CSS中有个display属性,能修改标签的显示类型,共有四种类型:

    • none:隐藏标签
    • block:让标签变为块级标签
    • inline:让标签变为行内标签
    • inline-block:让标签变为行内-块级标签(内联-块级标签)

    CSS盒模型

    当对一个文档进行布局的时候,浏览器的渲染引擎会根据标准之一的CSS基础框盒模型,将所有元素表示为一个个矩形的盒子。CSS决定这些盒子的大小,位置以及属性(例如颜色,背景,边框尺寸等等)。每个盒子由四个部分(或区域)组成:内容部分,内边距部分,边框部分,外边距部分。

    CSS盒模型分为两种:W3C标准盒模型和IE盒模型。
    它们的区别是:前者的属性width,height只包含内容content,不包含border和padding。后者的属性width,height包含border和padding。
    怎么改变当前的盒模型:ie8+浏览器以及现代浏览器支持box-sizing属性自由地进行切换。属性有:content-box(标准盒模型),width=content;border-box(IE盒模型),width=content+padding+border,高度同理。

    默认盒模型:若在页面中声明了DOCTYPE类型,所有浏览器都会把盒模型解释为W3C盒模型;若不声明DOCTYPE类型,IE浏览器会将盒子模型解释为IE盒子模型,其他浏览器会将其解释为W3C盒子模型。

    link标签中rel属性的作用

    rel各个属性值配置的意思:
    stylesheet —— 定义一个外部加载的样式表。
    注意:引入外部css文件时,必须要有此属性

    参考资料:

    《编写高质量代码——Web前端开发修炼之道》第三章——高质量的HTML
    https://cloud.tencent.com/developer/article/1136665

    认真对待每一天,加油
  • 相关阅读:
    34.angularJS的{{}}和ng-bind
    33.AngularJS 应用 angular.module定义应用 angular.controller控制应用
    32.AngularJS 表达式
    31.ng-init 指令初始化 AngularJS 应用程序变量。
    30.angularJS第一个实例
    29.AngularJS 简介
    28. Brackets安装angularjs插件
    27.AngularJS 下载地址
    22条创业军规,让你5分钟读完《创业维艰》
    创业维艰:为啥大多数创业者都不开心?
  • 原文地址:https://www.cnblogs.com/sunshine21/p/7747407.html
Copyright © 2011-2022 走看看