当前位置: 首页 > news >正文

HTML总结2 [转]

以下转载和参考自:HTML 表单。

1、表格  

 

 

 

  可以通过 CSS 设置表格的样式:

  如下为将上面table.lamp th,td样式中的padding注释掉,开启table.lamp中的padding的效果:

2、列表  

3、导航栏

 导航栏使用<ul>列表实现,以下为一个垂直导航栏:

  可以为导航栏添加边框,通过添加ul的border,li的border-bottom,同时将li:last-child的border-bottom设为none以防止最下面的边框线成为两行:

   以下为一个全高的固定侧导航栏:

 上面使用到的overflow属性规定如何处理超出元素框的内容,如下为其值及对应的处理,以及一个使用示例:

 

 

 

 

  以下为实现了一个水平导航栏,如果想要其固定在底部显示的话,将ul的top属性修改为bottom属性:   

  以下实现了一个粘性导航栏,鼠标滚动的时候导航栏也跟着滚动,但最多到顶部后就固定了:

  

  如下实现了一个带下拉菜单的导航栏:

4、表单

  表单用于收集用户的输入,如下图所示,<form> 用来定义表单,表单中的元素有input 元素(如text文本输入、radio单选按钮、submit提交按钮)、单选按钮、文本输入框等。提交按钮用来向表单处理程序提交表单,表单处理程序通常是包含处理数据的页面,表单的 action 属性指定提交表单时执行的动作(表单处理程序),通常表单会被提交到 web 服务器上的网页,如果省略 action 属性,则 action 会被设置为当前页面。表单中的input元素必须指定name,否则提交的时候会忽略该输入元素。

  method指定使用的HTTP方法(GET或POST)。如果不指定method属性,默认采用的是GET,其它的还有target属性设置设置提交表单后在何处显示响应(默认为_blank在新选项卡,_self为在当前页面,其它值还有_parent、_top、framename),accept-charset设置表单使用的字符集编码(默认为使用页面字符集),autocomplete设置是否打开自动完成功能,即输入的时候是否显示用户的历史输入(默认为"on"即开启),enctype指定HTTP请求的Content-Type,默认为application/x-www-form-urlencoded。novalidate属性设置为"novalidate"的话表示提交表单时不对其进行验证,即不会验证表单的输入。

  以下为一些其它input元素的示例,以及相关属性的说明(其中一些属性是布尔属性,不需要设置其值,如readonly、disabled):

   

  以下为下拉列表、文本输入框、按钮、datalist(html5新增)这些表单元素的使用示例:

  如下为上面代码的效果,其中图1为点击按钮时的效果,图2为点击最后一个input元素时的效果: 

  元素的formaction属性会覆盖form的action属性,formaction属性适用于 type = "submit" 以及 type = "image", 其规定当提交表单时处理该输入元素的URL。如下所示有两个提交按钮并且其提交动作不同:

5、canvas

  HTML5的canvas(画布)元素拥有绘制字符、圆形、图像、路径的能力,画布是一个矩形区域,可以控制其每一像素。canvas 本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:

6、绘制矢量图

  矢量图是使用数学公式描述图形的图像。矢量图具有可编辑性,可以对其中的元素进行修改和调整,当我们观察一张矢量图时,我们可以看到它由许多数学方程描述的几何形状组成。不是像素点的集合,所以其文件相对于位图较小。矢量图是基于数学公式的描述,而不是像素点的集合,其在放大或缩小时能保持图像的清晰度和质量,不会失去细节或出现像素化,而位图在放大时会变得模糊,因为每个像素都会变得更大,导致失去细节。一般logo会经常使用矢量图。常见的矢量图格式包括SVG(可缩放矢量图形)、AI、EPS。

  html中使用<svg>标签定义一个矢量图,如下所示: 

   SVG与Canvas:

  HTML中的SVG使用 XML 来描述 2D 图形,因为基于 XML,这意味着 SVG DOM 中的每个元素都是可用的,可以为某个元素添加JavaScript 事件处理器。在 SVG 中,每个被绘制的图形均被视为对象,如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。SVG不依赖分辨率,支持事件处理器,适合大型区域渲染(比如谷歌地图),复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快),不适合游戏应用。

  Canvas 是逐像素进行渲染的,依赖分辨率。一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制。Canvas不支持事件处理器,适合图像密集型的游戏(其中的许多对象会被频繁重绘)。

7、HTML5

  HTML5 是最新的 HTML 标准,它是跨平台的,被设计为在不同类型的硬件(PC、平板、手机等)之上运行。使用<!DOCTYPE html>声明的文档类型就表示使用HTML5,HTML5 中默认的字符编码是 UTF - 8。HTML5新增了许多标签元素,如<header>、<dialog>,新增了许多表单控件,如日期、日历,新增了一些API,比如用本地存储取代 cookie。HTML5也废弃了一些标签元素,如下所示:

  • <acronym>
  • <applet>
  • <basefont>
  • <big>
  • <center>
  • <dir>
  • <font>
  • <frame>
  • <frameset>
  • <noframes>
  • <strike>
  • <tt>

8、XHTML

  XHTML是以 XML 格式编写的 HTML,它是更严格更纯净的 HTML 版本,它与 HTML 4.01 几乎是相同的。HTML中对于一些书写错误也能正确标识,比如缺少关闭标签,属性值无引号等,但是对于一些小型设备,其往往缺乏解释“糟糕”的标记语言的能力,所以就必须使用XHTML。XHTML中的文档类型声明<!DOCTYPE ....>是必须的,<head>、<title> 以及 <body> 也是必须的。

9、响应式网页设计与BootStrap

  响应式网页设计(WRD,Responsive Web Design)指的是,能够以可变尺寸传递网页,即一个网站能够针对多个类型的终端(PC、移动、平板)提供不同的显示样式,而不是针对每个终端制作一个特定的版本。

  BootStrap是一个前端开发工具包(前端开发框架),基于html、css和javascript,主要用于构建响应式网站,并且是移动优先原则。BootStrap也提供了很多css样式和js插件,使得web开发更加便捷,这块与vue相比的话,BootStrap的缺点是,如果使用BootStrap现成的插件进行开发的话会很快,但是想对于组件进行订制就不太方便,自定义标签或部件的话需要一些额外的代码或查找额外的插件,而vue则适合开发自定义功能和交互比较多的web。 目前最新的BootStrap 5已经从jQuery依赖切换到了使用原生的JavaScript。 Bootstrap 5 与所有现代浏览器兼容(Chrome、Firefox、Edge、Safari 和 Opera)。

  有两种获得Bootstrap的方法,一种是引用来自 CDN 的 Bootstrap 5,一种是从其官网( https ://getbootstrap.com/)下载 Bootstrap 5后自己托管来引用。比如我们可以使用W3School为Bootstrap 的 CSS 和 JavaScript 提供的CDN,这样用户请求的时候会从最近的缓存中获取Bootstrap,加载时间更短。如下所示为通过第一种方式来引用Bootstrap并对其使用:

  Bootstrap 5 的JavaScript 用于不同的组件,如模态、工具提示、弹出框等,如果只使用 Bootstrap 的 CSS 部分的话,可以不引用Bootstrap JS。 

http://www.lryc.cn/news/146674.html

相关文章:

  • 【LeetCode-中等题】2. 两数相加
  • postman接口参数化设置
  • easyexcel poi根据模板导出Excel
  • 怎么把pdf图片转换成jpg?pdf转jpg的方法分享
  • MongoDB 双机热备那篇文章是 “毒”
  • Leetcode17电话号码的组合
  • 入职一家公司只会功能测试,如何进一步提升自己?
  • WordPress导航主题源码
  • 基于ADAU1452 DSP ANC和AEC算法的实现
  • Wireshark数据抓包分析之传输层协议(TCP协议)
  • ADRV9009子卡 设计原理图:FMCJ450-基于ADRV9009的双收双发射频FMC子卡 便携测试设备
  • Linux 桌面上的 Firefox 面临着大问题
  • 查漏补缺 - 构造函数,原型,this,原型链,继承
  • C# 学习笔记--个人学习使用 <2>
  • Linux网络编程Socket通信6-Libevent移植与使用
  • c#:委托 泛型委托的使用 泛型约束
  • 大数据之linux入门
  • MPI之MPI_Sendrecv接口以及空进程概念介绍
  • Revit SDK:PointCurveCreation 创建点来拟合曲线
  • 嵌入式Linux开发实操(十五):nand flash接口开发
  • vue2 组件库之vetur提示
  • 慕课网 Go工程师 第三周 package和gomodules章节
  • 【ES6】JavaScript 中的数组方法reduce
  • 数据结构--树4.2(二叉树)
  • 详解Numpy(基于jupyter notbook)
  • uniapp实现:点击拨打电话,弹出电话号码列表,可以选择其中一个进行拨打
  • swc-loader Segmentation fault “$NODE_EXE“ “$NPM_CLI_JS“ “$@“
  • Leetcode78. 子集
  • 百度“AI智障”到AI智能体验之旅
  • R中当并行运算遇到C++函数时,让foreach+Rcpp一起工作