HTML学习
语法
随手笔记而已--比较乱
一. 基本结构
-
<html></html>
: 根标签,所有的网页标签都在<html></html>中 -
<head></head>
:用于定义文档的头部,它是所有头部元素的容器. -
<body></body>
:标签之间的内容是网页的主要内容.
二. 标签详解
1. head 标签
文档的头部描述了文档的各种属性和信息,包括文档的标题等.一般不会真正作为内容显示给读者看.
<head>
<meta charset="UTF-8">
<title>勇气</title>
<link>
<style></style>
<script></script>
</head>
<title>
标签: 在<title>和</title>标签之间的文字内容是网页的标题信息,它会出现在浏览器的标题栏中.网页的title标签用于告诉用户和搜索引擎这个网页的主要内容是什么,搜索引擎可以通过网页标题,迅速的判断出网页的主题。每个网页的内容都是不同的,每个网页都有独一无二的 title
2. 代码注释
``
3. 其他标签
-
<hx></hx>
: 标题,h1-h2-h3-h4-h5-h6 -
<p></p>
: 段落 -
<strong></strong>
: 加粗 -
<em></em>
: 斜体 -
<q></q>
: 短文本引用,引用的部分不需要加双引号 -
<blockquote></blockquote>
: 长文本引用,引用的部分不需要加双引号 -
<br/>
: 换行,相当于回车键 -
: 空格
-
<hr/>
: 分割线 -
<address></address>
: 地址 -
<code></code>
: 代码(单行),多行用<pre></pre>
-
<ul></ul>
: 无序列表,<li></li>
包在里面表示每条信息 -
<ol></ol>
: 有序表,<li></li>
包在里面表示每条信息,从1开始 -
<div id="name"></div>
: 分块,将相关联的元素封装成一块放在一个容器中使其独立...其中,用 id 给模块命名,给定一个唯一标示符常用 -
表格
-
<table></table>
: 整个表格的开始和结束 -
<tbody></tbody>
: 当表格内容非常多时,表格会下载一点显示一点,但如果加上<tbody>
标签后,这个表格就要等表格内容全部下载完才会显示 -
<tr><tr>
:表格的一行,有几个<tr>
就有几行 -
<td></td>
: 表格的一个单元格,一行中包含几对<td>...</td>,说明一行中就有几列 -
<th></th>
: 表格的头部的一个单元格,表格表头..与<tr>
平级,th标签中的文本默认为粗体并且居中显示 -
<a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a>
: 超链接(在本窗口打开网页).title属性的作用,鼠标滑过链接文字时会显示这个属性的文本内容。这个属性在实际网页开发中作用很大,主要方便搜索引擎了解链接地址的内容(语义化更友好). 在新窗口打开目标网址<a href="目标网址" title="鼠标滑过显示的文本" target="_blank">链接显示的文本</a>` -
mailto:
: 使用mailto在网页中链接Email地址.格式<a href="mailto:yy@imooc.com?subject=观了不起的盖茨比有&body=你好,对此评论有些想法">对此影评有何感想,发送邮件给我</a>
.注意:如果mailto后面同时有多个参数的话,第一个参数必须以“?”开头,后面的参数每一个都以“&”分隔。
-
<img>
: 为网页插入图片.![电影介绍](https://img.haomeiwen.com/i565029/8358b9d56aca6b0a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
-
1、src:标识图像的位置;
-
2、alt:指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本;
-
3、title:提供在图像可见时对图像的描述(鼠标滑过图片时显示的文本);
-
4、图像可以是GIF,PNG,JPEG格式的图像文件。
4. 表单
网站怎样与用户进行交互?答案是使用HTML表单(form)。表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。
-
语法: <form method="传送方式" action="服务器文件">
- 1.<form> :<form>标签是成对出现的,以<form>开始,以</form>结束。
-
2.action :浏览者输入的数据被传送到的地方,比如一个PHP页面(save.php)。
-
3.method : 数据传送的方式(get/post)。
-
4.所有表单控件(文本框、文本域、按钮、单选框、复选框等)都必须放在<form></form>标签之间
5. 控件
-
输入框:
<input type="" name="" value=""/>
, -
type="text"
表示文本输入框,type="password"
表示密码输入框 -
name 为文本框命名,以备后台程序ASP 、PHP使用
-
value 为文本输入框设置默认值。(一般起到提示作用)
-
文本域:
<textarea rows="行数" cols="列数">默认值</textarea>
,当用户需要在表单中输入大段文字时,需要用到文本输入域。 注意这两个属性可用css样式的width和height来代替:col用width、row用height来代替。 -
选择框
-
单选框:
<input type="radio" value="值" name="名称" checked="checked"/>
:当设置 checked="checked" 时,该选项被默认选中 :同一组的单选按钮,name 取值一定要一致,这样同一组的单选按钮才可以起到单选的作用 -
复选框:
<input type="radio" value="值" name="名称" checked="checked"/>
-
下拉列表框: value 是向服务器提交的值;看书是显示的值;设置selected="selected"属性,则该选项就被默认选中
<label>爱好:</label>
<select>
<option value="看书">看书</option>
<option value="旅游" selected="selected">旅游</option>
<option value="运动">运动</option>
<option value="购物">购物</option>
</select>
下拉框多选
添加multiple="multiple"
属性. mac 电脑中按住 command 键同时单击进行多选操作
<form method="post" action="first.html">
<label>nnn:</label>
<select multiple="multiple">
<option value="看书">看书</option>
<option value="旅游" selected="selected">旅游</option>
<option value="运动">运动</option>
<option value="购物">购物</option>
</select>
</form>
-
按钮
-
提交按钮:
<input type="submit" value="提交">
-
重置按钮:
<input type="reset" value="重置">
-
label 标签: label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性。如果你在 label 标签内点击文本,就会触发此控件。就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该label标签相关连的表单控件上)。
<label for="控件id名称">
标签的 for 属性中的值应当与相关控件的 id 属性值一定要相同。
<form>
<label for="male">男</label>
<input type="radio" name="gender" id="male" />
<br />
<label for="female">女</label>
<input type="radio" name="gender" id="female" />
<label for="email">输入你的邮箱地址</label>
<input type="email" id="email" placeholder="Enter email">
</form>
三. CSS 样式 (层叠样式表 (Cascading Style Sheets))
主要用于定义 HTML 内容在浏览器内的显示样式,比如文字大小、颜色、字体加粗等.
<span></span>
<style type="text/css">
table tr,td,th{border: 1px solid #000;}
span{
color: green;
}
</style>
<div>
<p>我最帅!!<span>你特么服不服?!!</span>不服弄死你<span>一群傻吊</span></p>
</div>
元素分类
- 常用的块级元素:
<div> <p> <h1>...<h6> <ol> <ul> <dl> <table> <address> <blockquote> <form>
块级元素特点:
1.每个块级元素都从新的一行开始,并且其后的元素也另起一行
2.元素的宽度高度行高以及顶和底边距都可设置
3.元素的宽度在不设置的情况下,是他的本身容器的100%(和父元素的宽度一致),除非设定一个宽度
内联元素转块级元素:a{display:block;}
- 常用的内联元素(行内元素):
<a> <span> <br> <i> <em> <strong> <label> <q> <var> <cite> <code>
内联元素特点:
1.和其他元素都在一行上
2.元素的宽度高度以及顶部和顶部边距不可设置
3.元素的宽度就是它包含的文字或图片的高度,不可改变
块级元素转内联元素: div{dipaly:inline;}
- 常用的内联块状元素:
<img> <input>
inline-block元素特点:
1.和其他元素都在一行
2.元素的高度宽度行高以及顶和底边距都可设置
转内联块状元素:a{display:inline-block;}
CSS 布局模型
三种基本布局模型:
- 流动模型(Flow)
- 浮动模型(Float)
- 层模型(Layer)
详解:
-
Flow: 默认的网页布局模型.
(1) 块状元素都会在所处的 包含元素 内自动而下的按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%.
(2) 在 Flow模型下, 内联元素 都会在所处的包含元素内从左到右水平分布显示. -
Float: 可以让两个(more)块状元素并排显示.任何元素在默认情况下都是不能浮动的
-
Layer:
三种形式 :
- 绝对定位(position: absolute): 如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px
div{ width:200px; height:200px; border:2px red solid; position:absolute; left:100px; top:50px;}<div id="div1"></div>
- 相对定位(position: relative): 如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
为div设置相对定位,(相对于以前位置**左上角**)向右移动100象素,向下移动50象素。
#div{
width:200px;
height:200px;
border:2px red solid;
position:relative;
left:100px;
top:50px;
}
</style>
</head>
<body>
<div id="div1"></div><span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置</span>
</body>
- 固定定位(position: fixed):表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。
以下代码可以实现相对于**浏览器视图**向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。
#div1{
width:200px;
height:200px;
border:2px red solid;
position:fixed;
left:100px;
top:50px;
}
<p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
....