Html 基础
2019-01-27 本文已影响0人
潜心之力
一、结构标签
<em>斜体</em> -> 字体格式
<i>斜体</i> -> 字体格式
<strong>粗体</strong> -> 字体格式
<b>粗体</b> -> 字体格式
<span>span</span> -> 没有明确语义,与CSS联用
<q>短文本引用</q> -> 引用的意思等同“...”间的内容
<blockquote>长文本引用</blockquote> -> 长和短之分在于多行和单行
<br/> -> 换行符 -> 空格 <hr/> -> 水平横线
<address>地址|签名</address> -> 用来修饰特定关键词
<code>code</code> -> 修饰单行编程代码
<pre>code</pre> -> 修饰多行编程代码
<div>盒子</div> -> 页面排版
<table summary="表格简介">
<caption>摘要</caption> -> 表格摘要
caption-side:top|bottom -> 控制显示位置
<tr>
<th>标题</th> ->表格第一行
title属性:鼠标悬浮提示的文本
</tr>
<tr>
<td>内容</td> -> 表格第二行至结束
title属性:鼠标悬浮提示的文本
</tr>
</table>
<dl> -> 目录结构
<dt>列表标题</dt>
<dl>列表内容</dl>
</dl>
<a href="链接地址" title="鼠标停留显示的文本" target="_blank">a</a>
<a href="mailto:wjx@qq.com">email</a> -> 发邮件
<img src="图片地址" alt="图片加载失败显示的文本" title = "鼠标停留显示的文本">
问题:当表单只含一个input时,按enter会提交表单,含多个input时,不会提交表单
解决:终止表单提交(onsubmit="return false")
<form method="提交方式" action="提交地址">若多个标签</form>
问题:文本框的光标没有在左上角的位置
解决:标签体间不能有空格
<textarea rows="行数" cols="列数">多行文本框</textarea>
<label for="标签id"></label> -> FOR属性绑定关联元素,常与单/复选框联用
<input type="radio" checked="true" name="name" /> -> 单选框
<input type="checkbox" checked="true" name="name" /> -> 复选框
<input type="submit">提交</input> -> 表单提交按钮
<input type="reset">重置</input> -> 表单重置按钮
<input placeholder='提示' required='required' /> -> 输入框内容不能为空
属性:autocomplete="on|off" -> 是否缓存输入记录
<select id="select" (multiple="multiple")> -> 下拉框,可设置多选
<option value="后端获取的值" selected="selected">前端显示的值</option> -> 单个选项
$("#select").find("option:selected").val(); -> 获取下拉框选中的值
</select>
HTML页面容器,将页面显示在框内(window.frames[index])
<iframe src="/hello.html" height="300px" width="300px"
name="iframe" scrolling="yes|auto|no" frameborder="1|0">
</iframe>
二、浏览器样式
滚动条属性设置
::-webkit-scrollbar{width:5px;}
滚动条未出现
::-webkit-scrollbar-track{background-color:gray;}
滚动条已出现
::-webkit-scrollbar-thumb{background-color:blue;}
鼠标悬浮滚动条
::-webkit-scrollbar-thumb:hover{background-color:green}
鼠标拖拽滚动条
::-webkit-scrollbar-thumb:active{background-color:blue;}
三、自定义属性
语法:data-*,获取自定义属性时忽略data-,*为自定义的属性名
<div data-name="name"></div> -> 自定义一个name的属性
javascript:element.dataset.name; -> 获取自定义属性的值
jquery:$element.data("name"); -> 获取自定义属性的值
TIP:data-user-role; -> 驼峰式(userRole)
四、组合设置
1、不换行,溢出隐藏,溢出内容显示...
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 30px; -> 防止不换行内容撑开超出屏幕范围
2、表格标题固定,内容滚动
table tr{
display: table;
width: 100%;
table-layout: fixed;
}
table tbody{
display: block;
overflow: auto;
height: 300px;
}
3、水平居中
div{
display: inline|inline-block; -> 行内元素
text-align: center;
}
div{
display: block; -> 块状元素
margin: 0 auto;
}
div[class='parent']{ -> 父元素
display: flex;
flex-direction: column;
}
div[class='child']{ -> 子元素水平居中
align-self: center;
}
div[class='parent']{ -> 父元素
display: flex;
}
div[class='child']{ -> 子元素水平居中
margin: auto;
}
div{
width: fit-content;
margin-left: auto;
margin-right: auto;
}
4、垂直居中(设置所有祖先元素的高度[默认为0])
html,body{ -> 父元素
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
div{ -> 子元素垂直居中
position: relative;
top: 50%;
transform: translateY(-50%);
}
div[class='parent']{ -> 当前元素的子元素垂直居中
display: inline-block;
vertical-align: middle;
}
div[class='parent']{ -> 父元素
display: flex;
}
div[class='child']{ -> 子元素垂直居中
align-self: center;
}
div[class='parent']{ -> 父元素
display: table;
}
div[class='child']{ -> 子元素垂直居中
display: table-cell;
vertical-align: middle;
}
div[class='parent']{ -> 父元素
height: 300px;
}
div[class='child']{ -> 子元素垂直居中
line-height: 300px;
}
5、表格自适应填充
table{
width:100%
}
th{
min-width:5%, -> 方式一
max-width:5%, -> 方式二
}