1. iframe 标签---嵌套页面(一个页面里面套一个页面)。现在已经不太常用了,五年前的代码估计还会碰到,使用iframe写的页面比较卡(因为他新开了一个窗口)
iframe标签是一个可替换的标签。
<iframe src="https://www.baidu.com" name="xxx" frameborder=0></iframe>中frameborder=0表示消除iframe自带的边框的
<iframe src="https://www.baidu.com" name="xxx"></iframe>表示用来嵌套name为xxx的百度页面
a标签:发起一个get请求
1.iframe标签可以和a元素一起使用(a标签可以指定一个iframe来打开页面):
<iframe name=xxx src="#" frameborder="0"></iframe>
<a target=xxx href="http://qq.com">qq</a>
以上两行代码表示a标签要在名为xxx的嵌套窗口中打开qq.com的页面;其中要重点强调的是,他有一个name属性,要与a标签结合使用,不然是没什么用的;src是可以写相对路径的。
<a href="http://qq.com" target="_blank">qq</a> _blank表示在空页面打开
<a href="http://qq.com" target="_self">qq</a> _self在自己页面打开
<a href="http://qq.com" target="_parent">qq</a> _parent 在父级页面打开
<a href="http://qq.com" target="_top">qq</a> _top在顶层窗口打开
2.a标签的download属性:一个网页可以用浏览器查看也可以用浏览器下载,怎么确定的:1.根据html响应里面的content-type,2.是a标签可以指定强制下载
<a href="http://qq.com" download>下载</a>
content-type:application/otcet-stream
以上两种方式都可以表示下载文件
3.a标签的href,<a href="qq.com">qq</a>,不会打开网址,会当成一个文件打开,qq.com是相对路径,一般不这样写
正确写法是:<a href="http://qq.com">qq</a>。
<a href="//qq.com">qq</a>无协议绝对地址
<a href="xxx.html">qq</a>跳转到xxx.html,相对路径
<a href="#nnnn">qq</a>写锚点,直接会加到后面,但是只有锚点不发起请求
<a href="?name=frank">qq</a>可以这样写,直接加一个查询字符串。
a标签没有href是不可接受的,必须要有,这样就需要伪协议javascript: alert(1);
用法<a href="javascript:; ">qq</a>,写一个a标签,但是点击a标签之后不要跳转就这样写。
总结出来,href有以下几种写法:1.//qq.com 2. #xxx 3. ?name=qq 4../xxx.html 5.javascript:alert(1) 6. javascript:;
3.form标签也是跳转页面,主要用来发起一个post请求(post上传内容,get是获取内容)
如果form表单里面没有提交按钮,就无法提交form。
示例:<form action="index2.html" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="提交">
</form>
content-type: application/x-www-form-urlencoded 中 www-form-urlencoded定义了第四部分内容的语法uername=111&password=222;如果密码是中文的,就要经过转译显示;name最终会被带到第四部分作为他的key。
file协议是不支持post的。get会默认把参数放到查询参数里面,post默认会把参数放到第四部分也就是form data里面,我们可以通过给url加参数比如<form action="users?zzz=3" method="post">,让post也有查询参数,但是我们不能通过任何方法让get请求有第四部分。
form标签也有target,跟a标签的target是一样的,比如_blank。
4. input 区别: input是没有子元素的,button是可以有子元素的
input的type有很多属性,button
比如<input type="button" value="button">和比如<input type="submit" value="button">的区别是什么?1.如果一个form里面只有一个按钮比如<button>button</button>,他的type是button,那么他会自动升级为提交按钮;2.如果写了type,比如<input type="button" value="button">,button就是一个普通按钮,它跟form没关系,说明form表单此时没有提交按钮;3.如果比如<input type="submit" value="button">,可以提交发起post请求了,所以submit是唯一能确定form表单能不能提交的按钮。
input的checkbox多选框,
<input type="checkbox" id="xxx"><label for="xxx">是我</label>,label作用就是为了跟一个input关联。
<label for="xxx">用户名</label><input type="text" name="xxx" id="xxx">
<label for="">密码</label><input type="password" name="yyy" >
label的for和input的id是一对,要一起出现,但是
老司机一般不这样写,他们是这样写的label包input:
<label>用户名<input type="text" name="xxx'></label>
<label>密码<input type="password" name="yyy'></label>
<label><input type="checkbox" name="fruit" value="orange">桔子</label>
<label><input type="checkbox" name="fruit" value="apple">苹果</label>
name要写,不写的话,提交的时候不会带上name的值。
input的radio单选框,
<label><input name=“woshi” type="radio" value="yes">yes</label>
<label><input name=“woshi” type="radio" value="no">no</label>
入过两个radio单选框,同属于一个名字name的话,就只能选中一个。
input的select下拉列表
<select name="分组" multiple> multiple意思是多选
<optiong value="">-</option> 空
<optiong value="1">第一组</option>
<optiong value="2" disabled>第二组</option> 禁止选中第二组
<optiong value="3" selected>第三组</option> 默认选中第三组
</select>
5.textarea多行文本
<textarea style="resize:none;width: 200px;heigt:200px;" name="爱好">
控制宽高还可以用cols=“”200“ ros="200";
name一定记住要给;
</textarea>
6.table标签
html中规定,table只能有3个元素:thead tbody tfoot
<table border=1>
<colgroup>
<col width=100>
</colgroup> 控制每一列的宽度
<thead> 表头
<tr>行
<th>项目</th><th>姓名</th><th>班级</th><th>分数</th> 表的标题
</tr>
</thead>
<tbodt> 表的主体
<tr>
<th></th><td>小明<td><td>1<td><td>94<td>
</tr>
<tr>
<th></th><td>平均分<td><td><td><td>90<td>
</tr>
</tbody>
<tfoot></tfoot> 表的脚
<tr>
<th><总分/th><td><td><td><td><td>199<td>
</tr>
</table>
table的border默认是有空间的,collapse可以把他们合并起来;
thead/tbody/tfoot这三个标签在table中顺序可以随便写,但是浏览器解析的时候会自动按head、body、foot的顺序渲染,如果有一个没写,浏览器会帮你补上。
参考的文章有
网友评论