工欲善其事,必先利其器
网页主要是由文字、图像和超链接等元素构成,当然除了这些元素,网页中还可以包括音频、视频以及Flash等。
浏览器是网页显示、运行的平台。
浏览器内核(排版引擎、解释引擎、渲染引擎)
负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
浏览器 | 内核 | 备注 |
---|---|---|
IE | Trident | IE、猎豹安全、360极速浏览器、百度浏览器 |
Firefox | Gecko | 可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。 |
Safari | webkit | 现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。苹果感觉像被别人抢了媳妇,都哭晕在厕所里面了。 |
Chrome | Chromium/Blink | 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核。二次开发 |
Opera | blink | 现在跟随chrome用blink内核。 |
HTML(Hyper Text Markup Language):超文本标记语言
两层含义:
基本骨架:
<!-- 页面中最大的标签 根标签 -->
<html>
<!-- 头部标签 -->
<head>
<!-- 标题标签 -->
<title></title>
</head>
<!-- 文档的主体 -->
<body>
</body>
</html>
团队约定大小写:HTML标签名、类名、标签属性和大部分属性值统一用小写。
HTML元素标签分类:
<!-- 常规元素(双标签) -->
<标签名> 内容 </标签名> 比如<body>我是文字</body>
<!-- 空元素(单标签) -->
<标签名 /> 比如 <br />或<br>
<html>
<html>
和</html>
,我们称为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签。<br/>
,我们称为单标签。HTML标签关系:
文档类型:用来说明你用的XHTML或者HTML是什么版本。<!DOCTYPE html>
告诉浏览器按照 HTML5 标准解析页面。
<!DOCTYPE>
声明位于文档中的最前面的位置,处于<html>
标签之前。<!DOCTYPE>
不是一个 HTML 标签,它就是文档类型声明标签。lang
指定该 HTML 标签内容所用的语言
<html lang="en">
<!-- en 定义语言为英语 zh-CN定义语言为中文 -->
lang的作用:
字符集:(Character set)是多个字符的集合,计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。
<meta charset="UTF-8" />
常见meta用法
<!-- 标签:规定页面上所有链接的默认 URL 和设置整体链接的打开状态 -->
<head>
<base href="http://www.baidu.com" target="_blank">
<base target="_self">
</head>
<body>
<a href="">测试</a> 跳转到 百度
</body>
主要和css搭配使用,显示网页结构的标签,是网页布局最常用的标签
<h1>标题标签</h1>
<h1>标题一共六级选,</h1>
<h2>文字加粗一行显。</h2>
<h3>由大到小依次减,</h3>
<h4>从重到轻随之变。</h4>
<h5>语法规范书写后,</h5>
<h6>具体效果刷新见。</h6>
标签语义:把 HTML 文档分割为若干段落。
<p>我是一个段落标签</p>
p 指paragraph,意为段落。把文字有条理的显示出来就需要将文字分段显示。在 html 中,<p>
标签用于定义段落,将整个网页分成若干个段落。
标签语义:强制换行
<br/>
<br/>
是 break 缩写,意为打断、换行。
标签语义:突出重要性,比普通文字重要。
语义 | 标签 | 说明 |
---|---|---|
加粗 | <strong></strong> 或<b></b> |
更推荐<strong> ,语义更强烈 |
斜体 | <em></em> 或<i></i> |
更推荐使用<em> ,语义更强烈 |
删除线 | <del></del> 或<s><s/> |
更推荐使用<del> ,语义更强烈 |
下划线 | <ins></ins> 或<u></u> |
更推荐使用<ins> ,语义更强烈 |
在网页中,有时候需要为文字设置粗体、斜体或下划线等效果,需要使用 HTML 中的文本格式化标签,使文字以特殊方式显示。
<div>
和 <span>
是没有语义的,它们是一个盒子,用来装内容的。
<div>这是头部</div>
<span>今日价格</span>
在 HTML 标签中,<img />
标签用于定义 HTML 标签页面中的图像。
<img src="图像url" />
src属性:
src 是标签的 必须属性,用于指定图像文件的路径和文件名
其他属性:
属性 | 属性值 | 说明 |
---|---|---|
src |
图片路径 | 必须属性 |
alt |
文本 | 替换文本,当图片不显示时显示文字 |
title |
文本 | 提示文本,鼠标放到图像上显示文字 |
width |
像素 | 图像宽度 |
height |
像素 | 图像高度 |
border |
像素 | 图像边框粗细 |
相对路径:以引用文件位置为参考基础,而建立出来的目录路径。是相对于 HTML 页面的位置。
分类 | 符号 | 说明 |
---|---|---|
同级路径 | 同一级 | |
下一级路径 | / |
位于 HTML 文件上一级 |
上一级路径 | ../ |
位于 HTML 文件下一级 |
绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径或者完整的网络地址。
在 HTML 标签中,<a/>
标签用于从一个页面链接到另一个页面。
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
<!-- target="_self" 默认窗口弹出方式 -->
<!-- target="_blank" 新窗口弹出 -->
阻止 a 链接跳转,课可给 href 属性设置
javascript:void(0);
或者javascript:;
锚点链接:
<!-- 1. 使用相应的id名标注跳转目标的位置。 (找目标) -->
<h3 id="two">第2集</h3>
<!-- 2. 使用<a href="#id名">链接文本</a>创建链接文本(被点击的) -->
<a href="#two">
src 和 href 的区别
Ctrl + /
团队约定:注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行
现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式数据。因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候表格运用是否熟练就显得很重要,一个清爽简约的表格能够把繁杂的数据表现得很有条理。
table
用来定义表格的标签caption
通常这个标题会被居中且显示于表格之上。caption 标签必须紧随 table 标签之后。这个标签只存在 表格里面才有意义tr
用来定义表格中的行,必须嵌套在<table></table>
标签中td
用来定义表格中的单元格,必须嵌套在<tr></tr>
标签中th
用来定义表格中的表头,表头单元格里面的内容加粗居中显示创建表格:
<table>
<caption>我是表格标题</caption>
<tr>
<th>表头</th>
</tr>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
表格属性:
只作了解,后期通过 CSS 来设置。 这些属性都要写到
<table></table>
标签中
属性名 | 属性值 | 描述 |
---|---|---|
align |
left 、center 、right |
表格元素对齐方式 |
border |
1或"" |
规定是否有边框,默认为"" ,表示没有边框 |
cellpadding |
像素值 | 规定单元边沿与其内容之间空白,默认1px |
cellspacing |
像素值 | 规定单元格之间得空白,默认为2px |
width |
像素值或百分比 | 规定表格宽度 |
hight |
像素值 | 规定表格高度 |
合并单元格:
合并的顺序我们按照 先上 后下 先左 后右 的顺序 ,合并完之后需要删除多余的单元格
rowspan="合并单元格的个数
"colspan="合并单元格的个数
"<td colspan = "2"></td>
表格划分结构:
对于比较复杂的表格,表格的结构也就相对的复杂了,所以又将表格分割成三个部分:题头、正文和脚注。而这三部分分别用:thead,tbody,tfoot来标注, 这样更好的分清表格结构。
<thead></thead>
:用于定义表格的头部。用来放标题之类的东西。<thead>
内部必须拥有 <tr>
标签!<tbody></tbody>
:用于定义表格的主体。放数据本体 。<tfoot></tfoot>
:放表格的脚注之类。<table></table>
标签中。<ul>
<ol>
<dl>
<ul>
标签标识 HTML 页面项目中的无序列表,一般以项目符号呈现列表项。
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
......
</ul>
<ul></ul>
中只能嵌套<li></li>
,直接在<ul></ul>
标签中输入其他标签或者文字的做法是不被允许的。<li></li>
之间相当于一个容器,可以容纳所有元素。使用 <ol>
标签来定义有序列表,<li
> 来定义列表项。
<ol type="A">
<li>列表项1</li>
<li>列表二</li>
<li>列表三</li>
</ol>
<ol>
标签中的type
属性值为排序的序列号,不添加type
属性时,有序列表默认从数字1开始排序。type
属性值分别为是1,a,A,i,I<ol reversed="reversed">
中的reversed
属性能够让有序列表中的序列倒序排列。<ol start="3">
中的start
属性值为3,有序列表中的第一个序列号将从3开始排列。<dl>
定义描述列表,与 <dt>
和 <dd>
标签配合使用。
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
...
<dt>名词2</dt>
<dd>名词2解释1</dd>
<dd>名词2解释2</dd>
...
</dl>
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。表单目的是为了收集用户信息。
表单域:它相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
</form>
常用属性:
属性 | 属性值 | 作用 |
---|---|---|
action |
url 地址 |
指定接受并处理表单数据得服务器的url 地址 |
method |
get/post |
设置表单数据的提交方式 |
name |
名称 | 用于指定表单名称,区分同一个页面中的多个表单域 |
在表单域中定义各种表单元素,允许用户在表单中输入或选择的内容控件。
<input>
标签用于收集用户信息。
input
标签包含 type
属性,决定了输入字段的不同形式:文本字段、复选框、掩码后的文本控件、单选按钮、按钮等。
<input type="属性值" value="你好" />
input
输入的意思
<input />
标签为单标签
type
属性设置不同的属性值用来指定不同的控件类型
除了type
属性还有别的属性
常用属性
属性 | 属性值 | 描述 |
---|---|---|
type |
text |
单行文本输入框 |
password |
密码输入框 | |
radio |
单选按钮 | |
checkbox |
复选框 | |
button |
普通按钮 | |
submit |
提交按钮 | |
reset |
重置按钮 | |
image |
图像形式的提交按钮 | |
file |
文件域 | |
name |
由用户自定义 | 控件的名称 |
value |
由用户自定义 | input 控件中的默认文本值 |
size |
正整数 | input 控件在页面中的显示宽度 |
checked |
checked |
定义选择控件默认被选中的项 |
maxlength |
正整数 | 控件允许输入的最多字符数 |
用户名: <input type="text" />
密 码:<input type="password" />
value属性
value 默认的文本值。有些表单想刚打开页面就默认显示几个文字,就可以通过这个value 来设置
用户名:<input type="text" name="username" value="请输入用户名">
name属性
<input type="radio" name="sex" />男
<input type="radio" name="sex" />女
checked属性
表示默认选中状态。 较常见于 单选按钮和复选按钮。
性 别:
<input type="radio" name="sex" value="男" checked="checked" />男
<input type="radio" name="sex" value="女" />女
label
标签为 input
元素定义标注(标签)。label
标签主要目的是为了提高用户体验。为用户提高最优秀的服务。label
标签的时候, 被绑定的表单元素就会获得输入焦点。<!-- 第一种用法就是用label标签直接包含input表单, 适合单个表单选择 -->
<label> 用户名:
<input type="radio" name="usename" value="请输入用户名">
</label>
<!-- 第二种用法 for 属性规定 label 与哪个表单元素绑定(通过id)。 -->
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
select
标签设置多个选项让用户选择,节约页面空间
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
</select>
select
中至少包含一对 option
。option
中定义属性selected=selected
,当前项即为默认选项。textarea
控件可以轻松地创建多行文本输入框.cols="每行中的字符数" rows="显示的行数"
我们实际开发不用<textarea rows="3" cols="20">
文本内容
</textarea>
文本框和文本域区别:
表单 | 名称 | 区别 | 默认值显示 | 用于场景 |
---|---|---|---|---|
<input type="text" /> |
文本框 | 只能显示一行文本 | 单标签,通过value 显示默认值 |
用户名、昵称、密码等 |
textarea |
文本域 | 可以显示多行文本 | 双标签,默认值写到标签中间 | 留言板 |
文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr
文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc
文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8
文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束
文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求
文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname
文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立
文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码
文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词
文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限
文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定
文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland