HTML、CSS、javascript三者的关系
<!DOCTYPE HTML>
指示 web 浏览器关于页面使用哪个 HTML 版本进行编写,必须写在所有代码的第一行!
如果你的页面添加了<!DOCTYPE html>,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。
这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。
这就是<!DOCTYPE html>的作用。
固定结构
结构如下:
<html> <head>...</head> <body>...</body> </html>
代码讲解:
在很多国际化的网站中会使用到!<html lang="zh-CN"> </html>告诉浏览器等设备,语言使用以中文为显示和阅读基础!英文使用 en
head标签
下面我们来了解一下<head>标签的作用。文档的头部描述了文档的各种属性和信息,包括文档的标题等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。
下面这些标签可用在 head 部分:
<head> <title>...</title> <meta> <link> <style>...</style> <script>...</script> </head>
<title>标签:
meta标签
content="text/HTML; 文档类型,这里为html,如果JS就是text/javascript,
charset=utf-8 页面字符集,编码,eg:gb2312,iso-8859-1,utf-8
meta是html语言head区的一个辅助性标签。几乎所有的网页里,我们可以看到类似下 面这段的html代码:
<head> <meta http-equiv="content-Type" content="text/html; charset=gb2312"> </head>
也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,例如加入关键字会自动被大型搜索网站自动搜集;可以设定页面格式及刷新等等。
meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
1、name属性
name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
meta标签的name属性语法格式是:
<meta name="参数" content="具体的参数值">
其中name属性主要有以下几种参数:
1)Keywords(关键字) 说明:keywords用来告诉搜索引擎你网页的关键字是什么。 举例: <meta name="keywords" content="science, education,culture,politics,ecnomics,relationships, entertaiment, human"> 2)description(网站内容描述) 说明:description用来告诉搜索引擎你的网站主要内容。 举例: <meta name="description" content="This page is about the meaning of science, education,culture."> 3)robots(机器人向导) 说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。 content的参数有all,none,index,noindex,follow,nofollow。默认是all。 举例: <meta name="robots" content="none"> 4)author(作者) 说明:标注网页的作者 举例: <meta name="author" content="root,root@21cn.com">
2、http-equiv属性
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
meta标签的http-equiv属性语法格式是:
<meta http-equiv="参数" content="参数变量值">
其中http-equiv属性主要有以下几种参数:
1)Expires(期限) 说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。 用法: <meta http-equiv="expires" content="Fri, 12 Jan 2001 18:18:18 GMT"> 注意:必须使用GMT的时间格式。 2)Pragma(cache模式) 说明:禁止浏览器从本地计算机的缓存中访问页面内容。 用法: <meta http-equiv="Pragma" content="no-cache"> 注意:这样设定,访问者将无法脱机浏览。 3)Refresh(刷新) 说明:自动刷新并指向新页面。 用法: <meta http-equiv="Refresh" content="2;URL=http://www.root.net">(注意后面的引号,分别在秒数的前面和网址的后面) 注意:其中的2是指停留2秒钟后自动刷新到URL网址。 4)Set-Cookie(cookie设定) 说明:如果网页过期,那么存盘的cookie将被删除。 用法: <meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday, 12-Jan-2001 18:18:18 GMT; path=/"> 注意:必须使用GMT的时间格式。 5)Window-target(显示窗口的设定) 说明:强制页面在当前窗口以独立页面显示。 用法: <meta http-equiv="Window-target" content="_top"> 注意:用来防止别人在框架里调用自己的页面。 6)content-Type(显示字符集的设定) 说明:设定页面使用的字符集。 用法: <meta http-equiv="content-Type" content="text/html; charset=gb2312"> 7)content-Language(显示语言的设定) 用法: <meta http-equiv="Content-Language" content="zh-cn" />
meta标签的功能
3、style中的属性
标题标签
文章的段落用<p>标签,那么文章的标题用什么标签呢?下面我们将使用<hx>标签来制作文章的标题。
标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。<h1>是最高的等级。
语法:
<hx>标题文本</hx> (x为1-6)
文章的标题前面已经说过了,可以使用标题标签,另外网页上的各个栏目的标题也可使用它们。
例如:
<body> <h1>一级标题</h1> <h2>二级标题</h2> <h3>三级标题</h3> <h4>四级标题</h4> <h5>五级标题</h4> </body>
HTML注释
代码注释的作用是帮助程序员标注代码的用途,过一段时间后再看你所编写的代码,就能很快想起这段代码的用途。代码注释不仅方便程序员自己回忆起以前代码的用途,还可以帮助其他程序员很快的读懂你的程序的功能,方便多人合作开发网页代码。
<!--注释文字 -->
语义化
标签的用途:我们学习网页制作时,常常会听到一个词,语义化。那么什么叫做语义化呢,说的通俗点就是:明白每个标签的用途(在什么情况下使用此标签合理)比如,网页上的文章的标题就可以用标题标签,网页上的各个栏目的栏目名称也可以使用标题标签。文章中内容的段落就得放在段落标签中,在文章中有想强调的文本,就可以使用 em 标签表示强调等等。
讲了这么多语义化,但是语义化可以给我们带来什么样的好处呢?
后面会带领大家学习了解html中每个标签的语义(用途)。
喜欢前端的小伙伴们可以在评论区留言,寻找和小冯童鞋一样热爱前端的友人,让我们一起玩转前端的世界!
、 结构
一、标记<Html> 建立HTML文档
<Head> 设置网页头部和其它信息
<Body> 设计文件格式及内文所在<Body> 元素的属性
Text 设置页面文字的送顔色 Bgcolor 设置页面背景的顡色
Background 设置页面的背景图像 Link设置页面黙认的顔色
Bgproperties 设置页面的背景图像为固定,不随页面的滚动而滚动
Alink 设置鼠标正在单击时候的链接顔色 Vlink 设置访问过后的链接顔色
Topmargin 设置页面的上边距 Leftmargin 设置页面的左边距
二、头部
标记 <Base> 当前文档的URL全称 <Title>设置显示在浏览器在上方的标题内容
<Isindex> 表明该文档是一个可用于检索的网关脚本
<Meta> 有关文档本身的信息,例如用于查询的关键词,用于获取该文档的有效期等
<Style> 设置CSS层叠样式表的内容
<link> 设置外部文件的链接 <script> 设置页面中程序脚本的内容
<Mate> 标记属性
Http-Equiv 生成一个HTTP标题域,它的取值与另一个属性相同,
例如Http-Equiv=Expires,实际取值由Content确定
Name 如果元数据是以关键字/取值的形式出现的,Name 表示键字,
如Author或ID
Content 关键字/取值的内容
三、文字
文字标记 <HNumber>……<1HNumber> Number=1.2.3.4.5.6
分别指1至6级标题
<Font>文字
文字的修饰标记 <B>/<strong> 粗体 <I>/<Em>/<cite> 斜体
<Sup>上标 <sub>下标 <Big>大字号 <small>小字号
<U>下划线 <S>/<strike>删除线 <Address>地址
<Tt>打字机文字 <Blink>闪烁文字(只适用于Netscape浏览器)
<Code>/<samp>等宽 <kbd>键盘输入文字 <Var>声明变量
<Fant>标记的属性
Face 字体 Size字号 Color顔色
四.列表
列表标记 <Ul>无序列表 <Ol>有序列表 <Dir>回录列表 <Dl>定义列表
<Meru>菜单列表 <Dt>·<Dd>定义列表的标记 <Li>列表项目的标记
<Ul><Ol>标记的属性 Type设置列表类型 start设置列表起始属性
Type的属性值 1 数字 a 小写字母 A 大写字母 i小写罗马数字
I 大写罗马数字 Disc ● Circle ○ square □
五.链接
链接标记 <A> 链接
<A>标记的属性 Href 指定链接地址 Name给链接命名
Title设置链接提示文字 Target指定链接的目标窗口
Target属性值 -parent在上一级窗口中打开。一般使用分帧的框架页会经常使用
-bank在新窗口中打开
-self在同一个帧或窗口中打开.这项一般不用设置
Href属性值 http:// 进入万维网站点 news://启动新闻讨论
ftp:// 进入文件传输服务器 mailto:// 启动新闻讨论组
telnet:// 启动telnet方式 gopher://访问一个gopher服务器
六.图片
图片标记 <Img>图片 <Map>图像映射 <Area>图像映射中定义区域
<lmg>标记的属性 src图像的源文件 Alt提示文字 Width宽度
Height高度 Vspace垂直间距 Hspace水平间距 Align排列 Border边框
Align属性值 Top文字的中间线居于图片上方 Middle文字的中间线居于图片中间
Bottom文字的中间线居于图片底部 Left 图片在文字的左侧
Right图片在文字的右侧 Absbottom文字的底线居于图片底部
Absmiddle文字的底线居于图片中间 Baseline英文文字基线对齐
Texttop英文文字上边线对齐
Shape属性值
Rect矩形区域 Circle椭圆形区域 Poly多边形区域
七.表格
1.表格标记 <Table>…</Table>表格标记 <Tr>…</Tr>行标记
<Td>…</Td>单元格标记 <Th>表头标记
<Table>标记属性 Bordercolor 表格边框色 Borde表格边框的宽度
Bordercolorlight 表格边框亮边框色(左上边框顔色)
Bordercolordark 表格暗边框色(右下边框顔色)
Bordercolor 行的边框顔色 Width表格的宽度 Height表格的高度
Bgcolor表格的背景顔色 Background表格的背图像
<Tr>标记属性 Align行内容的水平对齐 Valign 行内容的垂直对齐
Bgcolor 行的背景顔色 Background 行的背景图像
Bordercolor 行的边框顔色 Bordercolorlight 行的亮边框顔色
Bordercolordark 行的暗边框顔色
<Td>标记属性 Align单元内容的水平对齐 Valign单元格内容的垂直对齐
Bgcolor 单元格的背景顔色 Background 单元格的背景图像
Bordercolor单元格的背景顔色 Bordercorlorlight单元格的亮边框顔色
Brodercolordark 单元格的暗边框顔色 Width 单元格的宽度
Height单元格的高度
<Th>标记属性 Align表头内容的水平对齐 Valign表头内容的垂直对齐
Bgcolor 表头的背景顔色 Background表头的背景图像
Bordercolor表头的边框顔色 Bordercolorlight 表头的亮边框顔色
Bordercolordark 表头的暗边框顔色 Width 表头的宽度 Height 表头的高度
八.表单
1.表单标记 <Form>表单标记 <Input>表单输入标记
<select>菜单和列表标记 <Option>菜单和列表项目标记
2.属性 <Form> Name表单的名称
Method 定义表单结果从浏览器传送到服务器的方法,一般有两种方法:get,post
Action 用来定义表单处理程序(一个Asp,CGI等程序)的位置(相对地址或绝对地址)
<lnput>标记属性 Name 域的名称 Type域的类型
Maxlength 域的最大输入字符数 size域的宽度 Value 域的默认值
<Select>标记属性 Name 菜单和列表的名称 size 显示的选项数目
Multiple 列表中的项目多选 Value 选项值 selected默认选项
<Texrarea>标记属性 Name 文字域的名称 Rows文字域的行数
Cols 文字域的列数 Value 文字域的默认值
Type属性值 Text 文字域 Password 密码域 File 文件域
Checkbox复选框 Redio单选框 Button普通按扭
Submit 提交按钮 Reset重置按钮 Hidden隐藏域Image图像域
九.滚动
滚动标记 <Marquee>
<Marquee>标记属性 Direction 滚动方向 up 文字向上滚动 Left文字向左滚动
Behavior 滚动方式 Scroll 循环往复
Side 只做一次滚动
Alternate 交替进行滚动
ScrollAmount 滚动速度
ScrollDelay 滚动延迟
Trim函数用来剔除首尾空格
十.框架
1.标记 <Frameset> 框架边框标记 <Frame> 框架标记 <Iframe>浮动框架标记
<Frameset>标记属性 Cols列 Rows行
<Frame> 标记属性 src框架中显示页面源文件的路径
FrameBorder 框架边框显标属性 FrameSpacing框架边框宽度属性
Scrolling框架滚动条显示属性 NoResize 框架尺寸调整属性
BorderColor 框架边框顔色属性 MarginWidt 框架边框缘宽度属性
MarginHerght框架边缘高度属性
<1frame> 标记属性 src浮动框架中显示页面源文件的路径
Width 浮动框架的宽度 Height 浮动框架的高度
Name 浮动框架的名称
Align 浮动框架的排列方式 Left表示居左 Center表示居中 Right表示居右
FrameBorder 框架边框显示属性 FrameSpacing 框架宽度属性
Scrolling 框架滚动条显示属性 ( yes显示 No不显示 Auto根据页面的长度自动判断是否晶粒示滚动条
NoResize 框架尺寸调整属性 BorderColor框架的顔色
MarginWidth 框架边缘宽度属性 MarginHeight 框架边缘高度属性
插入刷新
步骤:1.选择"查看/文件头内容"
2.在插入面板上,打开HTML选项卡
优化代码
打开文件窗口,执行"命令、清理HTML"命令
文本换行:Enter 行距较大
Enter + Shift 行距较小
插入水平线设置顔色:单击属性面板中的快捷标签编辑器按钮
在代码中键入"color=#顔色值"
当图像无法显示时将显示这段文字:
图像属性中的替代→输入文字
插入鼠标经过图像:准备两张图像
在文件窗口中,将光标放置于需要翻转图像位置→插入工具栏中单击鼠标经过图像
Ⅱ.使用导航条:
在"常用"对象组中,单击"图像"小三角→导航条
插入图像占位符:图像小三角→图像占位符
Flash动画的背景实现透明 参数wmode 值 transparent
插入 Java Applet
插入表单
插入表单域:对象面板上"表单"→插入表单
插入文本域:单击面板上的插入文本域. 初始值=打开时显于的文字
插入密码框:在属性面板上选择密码
插入多行文本域:在类型后选择多行
插入隐藏域:对象面板→插入隐藏域
插入按钮:标签用来设置按钮上显示的文本
插入图像提交按钮=图像域:
插入文件上传按钮=文件域:
插入单选框
插入单选按钮组:Label文字说明 Value 单选按钮的值
插入复选框
菜单/插入列表:列表值→
插入跳转菜单:(
制作网页链接
URL统一资源定位器
目标:_blank在一个新的未命名的浏览器窗口中打开
_parent如果是嵌套的框架,链接会在父框架或窗口中打开,否则=_top
_top在完整的浏览器中打开
创建搜索页
运行中输入:
Inetmgr (IIS
Odbcad32 (odbc
Asp对象
Applicatipn 在给定的应用程序的所有用户间共享信息,并在服务器运行期间持久地保存数据。
集合: Contents
staticObjects
Item(变量值)=设置资料变量的值
Key(变量名称)=设置资料变量的名称
Count(变量资料的数量)=表示
Coutents集合中资料的总数量
方法: Lock
Unlock
事件: Applicatipn_Onstart
Application_OnEnd
Session 存储特定的用户会话所需的信息
属性:CodePage
LCID
SessionID
Timeout
集合:Contents
StaticObjects
方法:Abandon
事件:Session_Onstart
Session_OnEnd
Response 用来控制发送给用户的信息,包括直接发送信息给浏览器,重定位浏览器到另一个URL或设置Cookie值
属性: Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
IsClientConnected
PICS
Status
集合: Cookies
方法: AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
Request 访问任何基于HTTP请求传递的信息,常见的有从HTML表单用Post方法或Get方法传递的参数,Cookie或用户认证等。
属性: TotalBytes
集合: ClientCertificate
Cookies
Form
QueryString
ServerVaiables
方法: BinaryRead
Server 提供对服务器方法和属性的访问
属性: ScriptTimeout
集合: 无
方法: CreatObject
HTMLEncode
MapPath
URLEncode
Recordset
MoveNext 将前数据记录移至下一条
MovePrevious 将当前数据记录移至上一条
MoveFirst 将当前数据记录移至第一条
MoveLast 将当前数据记录移至最后一条
AbsolutePosition=N 将当前数据记录移至第N条
EOF 当前数据记录是否移过了最后一条(发生于向下移动时)
BOF 当前数据记录是否移过了第一条 (发生于向上移动时)
VBScript 运算符
算术运算符
指数 取负 乘法 除法 加法 减法 取模 连接 整数除法
∧ - * / ﹢ ﹣ Mod & \
比较运算符
相等 不相等 小于 大于 小于或等于 大于或等于 对象相象
=<> < > <=>=IS
逻辑运算符
逻辑非 逻辑与 逻辑或 异或 逻辑等于 逻辑蕴含
Not And Or Xor Eqv Imp
生苦短,我用 Python
如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:)
前文传送门:
小白学 Python 爬虫(1):开篇
小白学 Python 爬虫(2):前置准备(一)基本类库的安装
小白学 Python 爬虫(3):前置准备(二)Linux基础入门
小白学 Python 爬虫(4):前置准备(三)Docker基础入门
小白学 Python 爬虫(5):前置准备(四)数据库基础
小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装
小白学 Python 爬虫(7):HTTP 基础
先赞后看是个好习惯
我们的数据来源是网页,那么我们在真正抓取数据之前,有必要先了解一下一个网页的组成。
网页是由 HTML 、 CSS 、JavaScript 组成的。
HTML 是用来搭建整个网页的骨架,而 CSS 是为了让整个页面更好看,包括我们看到的颜色,每个模块的大小、位置等都是由 CSS 来控制的, JavaScript 是用来让整个网页“动起来”,这个动起来有两层意思,一层是网页的数据动态交互,还有一层是真正的动,比如我们都见过一些网页上的动画,一般都是由 JavaScript 配合 CSS 来完成的。
我们打开 Chrome 浏览器,访问博客站的首页,打开 F12 开发者工具,可以看到:
在选项 Elements 中可以看到网页的源代码,这里展示的就是 HTML 代码。
不同类型的文字通过不同类型的标签来表示,如图片用 <img> 标签表示,视频用 <video> 标签表示,段落用 <p> 标签表示,它们之间的布局又常通过布局标签 <div> 嵌套组合而成,各种标签通过不同的排列和嵌套才形成了网页的框架。
在右边 Style 标签页中,显示的就是当前选中的 HTML 代码标签的 CSS 层叠样式,“层叠”是指当在HTML中引用了数个样式文件,并且样式发生冲突时,浏览器能依据层叠顺序处理。“样式”指网页中文字大小、颜色、元素间距、排列等格式。
而 JavaScript 就厉害了,它在 HTML 代码中通常使用 <script> 进行包裹,可以直接书写在 HTML 页面中,也可以以文件的形式引入。
我们来手写一个简单 HTML 页面来感受下。
首先创建一个文本文件,将后缀名改为 .html ,名字可以自取,写入如下内容:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Demo</title> </head> <body> <div id="container"> <div class="wrapper"> <h1>Hello World</h1> <div>Hello Python.</div> </div> </div> </body> </html>
首先,整个文档是以 DOCTYPE 来开头的,这里定义了文档类型是 html ,整个文档最外层的标签是 <html> ,并且结尾还以 </html> 来表示闭和。
这里简单讲一下,浏览器解析 HTML 的时候,并不强制需要每个标签都一定要有闭和标签,但是为了语义明确,最好每个标签都跟上对应的闭和标签。各位同学可以尝试删除其中的闭和标签进行尝试,并不会影响浏览器的解析。
整个 HTML 文档一般分为 head 和 body 两个部分,在 head 头中,我们一般会指定当前的编码格式为 UTF-8 ,并且使用 title 来定义网页的标题,这个会显示在浏览器的标签上面。
body 中的内容一般为整个 html 文档的正文,这里小编简单写了几个 div 的嵌套。
这个页面的显示如下:
在 HTML 中,所有标签定义的内容都是节点,它们构成了一个 HTML DOM 树。
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
下面的图片展示了节点树的一部分,以及节点之间的关系:
前面我们介绍到 CSS 可以用来美化网页,那么我们简单加一点 CSS 修改下页面的显示效果。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Demo</title> <style type="text/css"> .wrapper { text-align: center; } </style> </head> <body> <div id="container"> <div class="wrapper"> <h1>Hello World</h1> <div>Hello Python.</div> </div> </div> </body> </html>
我们在 head 中添加了 style 标签,并注明其中的内容解析方式为 CSS 。其中的内容的含义是让文本居中显示,先看下增加 CSS 后的页面效果吧:
可以看到,原来居左的文字已经居中显示了。
那么,CSS 是如何表示它要修饰的文档结构的呢?这就要说到 CSS 选择器了。
在CSS中,我们使用CSS选择器来定位节点。例如,上例中 div 节点的 id 为 container ,那么就可以表示为 #container ,其中 # 开头代表选择 id ,其后紧跟 id 的名称。另外,如果我们想选择 class 为 wrapper 的节点,便可以使用 .wrapper ,这里以点 . 开头代表选择 class ,其后紧跟 class 的名称。
另外, CSS 选择器还支持嵌套选择,各个选择器之间加上空格分隔开便可以代表嵌套关系,如 #container .wrapper p 则代表先选择 id 为 container 的节点,然后选中其内部的 class 为 wrapper 的节点,然后再进一步选中其内部的 p 节点。另外,如果不加空格,则代表并列关系,如 div#container .wrapper p.text 代表先选择 id 为 container 的 div 节点,然后选中其内部的 class 为 wrapper 的节点,再进一步选中其内部的 class 为 text 的 p 节点。这就是 CSS 选择器,其筛选功能还是非常强大的。
https://www.w3school.com.cn/htmldom/dom_nodes.asp
https://cuiqingcai.com/5476.html
*请认真填写需求信息,我们会在24小时内与您取得联系。