HTML NOTE
创建于2021.10.28
@标准
- 一定要以
<!DOCTYPE>
开头常用:<!DOCTYPE html>
- 一定要在
<head>
中指定正确的字符编码 - 一定要在
<head>
中写title元素 - 始终对图像使用alt属性
- 始终定义图像尺寸,可减少闪烁
- 为了提高可读性,请增加两个空格的缩进。请勿使用 TAB。
无必要缩进:
<body>
<h1>Famous Cities</1>
<h2>Tokyo</h2>
<p>lorem</p>
</body>
更好的格式:
<body>
<h1>Famous Cities</1>
<h2>Tokyo</h2>
<p></p>
</body>
@元素
- 使用小写标签。
- 大多数 HTML 元素可以嵌套(可以包含其他 HTML 元素)。
- 某些 HTML 元素具有空内容(empty content)。
<br/>
- 块元素-特立独行
内联元素-随波逐流
@属性
- 使用小写属性。
- 始终加引号。
- 完整的标签参考手册。
https://www.w3school.com.cn/tags/index.asp - 所有连续的空格或空行都会被算作一个空格。
常用标签:
<hr/>定义水平线
<!--这是注释-->
<br/>换行
@标题
HTML heading标签只用于标题,搜索引擎使用标题为您的网页的结构和内容编制索引。
尽量避免使用的标签和属性
标签:
<center> 定义居中内容
<font> 和 <basefont> 定义HTML字体
<s> 和 <strike> 定义删除线文本
<u> 定义下划线文本
<pre> 按输入的原样显示文本
属性:
align 定义文本的对齐方式
bgcolor 定义背景颜色
color 定义文本颜色
请使用样式代替以上内容!
@样式style
淘汰了bgcolor,用backgroud-color代替
<h2 style="background-color:red">
This is a heading
</h2>
@字符实体
用&(与符号加字母表示特殊字符)
eg.
<html>
在html中显示为<html>&
在html中显示为&©
显示为©(这玩意儿是版权符号)
@Doctype
万维网协(World Wide Web Consortime,W3C)会是定义HTML标准的组织
html4
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
html5
<!doctype html>
@超链接(a元素 anchor 锚)
页面内链接到id:
<h1 id="top">标题</h1>
<a href="#top">回到页顶</a>
target属性
<a target="_blank" href="www.bai1hao.top">用新的窗口打开网页</a>
@div
作用:将网页分为数个逻辑区
eg.
<div id="header">
<h1>...</h1>
</div>
<div id="main">
<p>...</p>
<p>...</p>
...
</div>
<div id="footer">
©
</div>
如上分为header(标题),main(主体),footer(页脚)
对div的id写css时,其中所有内容都是div盒模型的内容
@span
作用:使用span把段落中的文字划分为独立的内联元素,以便于施加不同的修饰
<p><span class="word1">这是一个段落</span>,这是第二句话。</p>
可以对span范围内的文字单独添加效果,而不影响本段其他文字
@iframe
定义内联的子窗口
<iframe src="http://www.bai1hao.top" name="myWeb"></iframe>
name属性可用于链接的target
<a src="http://www.bai1hao.top" target="myWeb">在内联窗口中打开网页</a>
@表格
<table>
<tr>
<th>项目1</th>
<th>项目2</th>
<th>项目3</th>
</tr>
<tr>
<td>数据1</td>
<td>数据2</td>
<td>数据3</td>
</tr>
</table>
- table header cell 表头单元格(HTML中的th标签)
- table data cell 表格数据单元(HTML中的td标签)
- table row 表格行(HTML中的tr标签)
表头默认使用粗体
如果单元格没有数据写为<td></td>
table {
margin-left: 20px;
margin-right: 20px;
border: thin solid black;
caption-side: bottom;
border-spacing: 0px;
}
td, th {
border: thin dotted gray;
padding: 5px;
}
caption {
font-style: italic;
padding-top: 8px;
}
表格单元格没有外边距,只有间距
水平和垂直方向不同的边框间距
border-spacing: 10px 30px;
忽略边框间距
border-collapse: collapse;
单元格跨行/列
跨两行
<td rowspan="2">内容</td>
跨列
<td colspan="2">内容</td>
被占用格子的单元格不用写<td>
@列表
ol是有顺序的列表,会自动排序
ul无序列表
<ul>
<li>列表项</li>
</ul>
无序列表样式
li {
list-style-type: disc;默认的圆点
}
circle 空心圆点
square 正方形
none 无标记
有序列表样式
list-style-type: decimal十进制
upper-alpha 大写字母
lower-alpha 小写字母
upper-roman 大写罗马数字
用图片当作标记
li {
list-style-image: url(图片路径)
padding-top: 5px;
margin-left: 20px;给左侧留空间
}
<hr/>
<hr/>
CSS (stylesheet) 样式表
@引入.css文件
<link type="text/css" rel="stylesheet" href=".css文件路径">
html5以后type属性可写可不写
@css文件内容
内容和style标签差不多
h1,h2 {
/*属性*/
}
@引入多个样式表
<link type="text/css" rel="stylesheet" href="lounge.css">
<link type="text/css" rel="stylesheet" href="lounge-2.css">
...
下方的样式表会覆盖上方
@link中的媒体查询
用途:设置允许访问的设备类型
<link href="lounge-moblie.css" rel="stylesheet" media="screen and (max-device-width:480px)">
screen指定了有屏幕的设备
()括号的内容指定屏幕宽度不超过480像素
<link href="lounge-print.css" rel="stylesheet" media="print">
print指定了媒体类型为打印机
1.min-device-width
2.max-device-width
3.显示方向[orientation, 横向(landscape)或纵向(portrait)]
4.max-width
5.min-width
作用:针对不同的设备设置不同的css文件,展现不同的效果
@css中的媒体查询
@media screen and (min-device-width: 481px){
#guarante {
margin-right: 250px;
}
}
该括号存放所有适用于该设备的规则
@类
命名:必须以字母开头
定义一个或多个类
eg.
p.greentea,h1.greentea {
color: green;
}
调用段落的类
<p class="greentea">
调用标题的类
<h1 class="greentea">
@一个元素调用多个同属性类
eg.
<p class="greentea raspberry blueberry">
调用规则:
1.看特定程度
2.程度相同看样式表的顺序,调用最靠后的类!
@类的特定程度 低->高
所有段落
p {
color:red;
}
绿色类中所有成员
.green {
color: green;
}
绿色类中的段落
p.orange {
color: orange;
}
@常用css属性
width 设置内容宽度
color 设置文本颜色
font-weight 控制文本粗细
left 指定左边的位置
line-height 设定行间距
top 距离顶部的位置
letter-spacing 字符间距(水平)
background-color 设置背景颜色
border 设置边框
padding 设置元素边缘和内容之间的空间(内边距)
font-size 设置字体大小
text-align 设置对齐方式
font-style 设置斜体文本等
list-style 设置列表项的外观
background-image 放置背景图像
margin 设置外边距
margin-top: 0px;
margin-right: 20px;
margin-bottom: 30px;
margin-left: 10px;
@首选字体类型
body {
font-family: Verdana,Geneva,Arial,sans-serif;
}
浏览器按顺序寻找字体库(取决于用户是否安装),第一个找不到找第二个,若全部字体都没有,则使用浏览器默认字体
body {
font-family: "Courier New";
}
@Web 开放字体
.woff文件(web open font farmat)web开放字体格式
调用:
@font-face {
font-family: "Emblema One";
src: url("http://wickedlysmart.com/hfhtmlcss/chapter8/journal/EmblemaOne-Regular.woff"),
url("http://wickedlysmart.com/hfhtmlcss/chapter8/journal/EmblemaOne-Regular.ttf");
}
注:
1."@"是内置css规则
2.font-family中的名称为自定义的名称
3.一种web字体对应一个@font-face块
4.每个url对应一种字体格式,防止某些浏览器无法使用
@字体大小
p {
font-size:14px;
}
指字体的高度是14像素
p {
font-size:small;
}
按浏览器默认的关键字设置字体大小,大多数默认为12px
p {
font-size:150%;
}
该百分比是相对于其父元素的字体大小!
p {
font-size:1.5em;
}
和百分比作用相同
建议:body使用关键字,内容使用百分比
@字体深浅(粗细)
常用值
粗体:bold
普通(去除父元素继承的属性):normal
font-weight:bold
注:
1.bolder,lighter大多数字体无变化
2.100-900(100的倍数) 支持的字体不多,大多数无变化
@字体样式(斜体等)
p {
font-style:italic;
}
1.斜体(向右倾斜,部分浏览器还会有弯曲的衬线):italic
2.倾斜(字体向右倾斜):oblique
注:具体效果取决于浏览器
@颜色
1.css中定义了150种颜色
body {
backgroud-color:orange;
}
2.用16进制表示颜色
backgroud-color:#fc1257;
3.使用百分比
backgroud-color: rgb(80%,40%,0%);
4.用0-256之间的整数
backgroud-color: rgb(204,102,0);
<br/>
@颜色2-最广泛应用的是十六进制
解析:
eg.#cc6600
可分为红,绿,蓝三个部分
即:R-cc,G-66,B-00;
<br/>
cc的解析:
1.取左边的c写出:c十进制,然后再*16
2.取右边的c写出十进制:12
3.最后相加,即:12+12*16=12+192=204
eg.解析66,6*16+6=102
注:如#cc6600一类的十六进制代码可以使用简写,即:#c60
@文本修饰
给段落同时添加下划线和上划线
p {
text-decoration: underline overline;
}
line-through 删除线
none 除去父元素的修饰
注:对同一元素写两个不同的decoration块不会叠加,必须如上方那样在一个decoration中写多种修饰才会叠加
关于删除线,若要表示为想要删除的内容,可使用<del>
元素
如果只是想要效果则使用css中的line-through
@布局结构-盒模型
html布局图示
在css看来,任何元素都是盒子box
1.内边距和外边距是透明的,可显示背景图片和背景颜色
2.顺序问题:先设置左内边距,再设置总内边距,左内边距会被覆盖
@边框
颜色
border-color: rgb(100%,0,0);
宽度
border-with: thin;
样式
- solid 实线
- double 双实线
- groove 页面上的槽
- outset 外凸
- dotted 点线
- dashed 破折现
- inset 内凹
- ridge 脊线
圆角
border-radius: 15px;
设置四个角为半径15的圆角
border-top-right-radius: 15px;
设置右上角为半径15的圆角
简写:
border: solid thin;
border: #007e7e solid;
@CSS背景
p {
background-image: url(images/background.gif);
background-repeat: no-repeat;
background-position:top left;
}
1.设置背景图片
2.决定是否重复
3.设置位置为左上
@id
eg.<h1 id="top">页首的标题</h1>
用css的id选择器可以使对应的内容特立独行
#top {
/*这里面的属性只针对top,不会再针对其他内容*/
}
命名:id中不能有空格
@选择器
- id选择器 #+id
- 类选择器 .类名
- 子孙选择器 前两种后空格加子孙元素
- 属性选择器
a[target="_blank"] 选择满足括号条件的a元素
[title~="flower"] 选择title有flower的元素
eg. #elixirs h2
当
是id为elixirs的元素的子元素或孙元素时选择
eg. #elixirs>h2
只有当
是id为elixirs的元素的子元素时才选择@简写
background
p {
background-image: url(images/background.gif);
background-repeat: no-repeat;
background-position:top left;
}
简写:
background: url(images/background.gif) no-repeat;
margin
margin-top: 0px;
margin-right: 20px;
margin-bottom: 30px;
margin-left: 10px;
简写:
margin: 0px 20px 30px 10px;
padding类似
padding: 0px 20px 30px 10px;
顺序:从上开始顺时针方向
@伪类-<a>
的多种状态
注意:visited写在hover后面时,hover无法触发!!!
伪类(pesudo-class)
未点击的链接
a:link {
color: green;
}
已经访问过的链接
a:visited {
color: red;
}
鼠标悬停时的链接
a:hover {
color: yellow;
}
结合子孙选择器
#elixirs a:link {
color: #007e7e;
}
......
nth-child伪类
<section>
<p>第一行</p>
<p>第二行</p>
<p>第三行</p>
</section>
对于p存在如下伪类
p:nth-child(even) {/*这是选择双数行*/
background-color: red;
}
p:nth-child(odd) {/*这是选择单数行*/
background-color: green;
}
p:nth-child(2n){}
p:nth-child(2n+1){}
@层叠!
即计算css的特定性判断使用哪个
算法:
位:0-0-0
号:1 2 3
1.每有一个id加1
2.每有一个类或伪类加1
3.每有一个元素名加1
eg.
h1.blueberry 得分 011
h1 得分 001
对于同一个元素(真正的同一个,而非同名),分越高越特定,浏览器采用最特定的那个css
当规则冲突时
<h1 class="blueberry berry">
h1.blueberry
h1.berry
浏览器选择css表中后出现的,即berry类的规则
@布局(layout)
1.浮动布局
2.冻结,凝胶布局
3.绝对布局
4.表格显示布局
流(Flow)布局:默认情况下,从左上开始放置元素
两个块元素(盒模型)并排放置时边距会折叠,即使用最大那个
两个内联元素并排时会相加
浮动的元素--float属性
float: right;
作用: 将元素从流布局中剔除,剩余的流在其下方继续流动,无视边框(内容除外)
clear 属性
#footer {
clear: left;
}
清空左侧的浮动元素
@冻结设置
将body的所有内容全部装在id为allcontent的div中,对齐设置宽度
#allcontent {
width: 800px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #675c47;
}
无论浏览器怎么变,页面永远那么大
![冻结设置实例]()
@凝胶设置
凝胶(jello)
#allcontent {
width: 800px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #675c47;
margin-left: auto;
margin-right: auto;
}
结果
凝胶设置实例
@绝对定位
绝对(absolute)
#sidebar {
position: absolute;
top: 100px;
right: 200px;
width: 280px;
}
会从流中删除,且会重叠
两个绝对定位重叠
position属性
默认值为static
- absolute(绝对定位)
- fixed(固定定位)
- relative(相对定位)
- static
@表格布局
<div id="tableContainer">表格
<div id="tableRow">第一行
<div id="main">第一列
...
</div>
<div id="sidebar">第二列
...
</div>
...
</div>
</div>
#tableContainer {
display: table;定义为表格
border-spacing: 10px;
}
#tableRow {
display: table-row;定义为行
}
#main {
display: table-cell;定义为单元格内容
vertical-align: top;上边对齐
}
效果:
表格布局实例
此时页眉与表格之间的空隙有20px,因为表格的间距border-spacing与页眉的下边距叠加,10px+10px即为20px;
@绝对布局
#award {
position: absolute;
top: 30px;
left: 365px;
}
将id为award的元素相对于页面放置与固定位置
@固定定位
#coupon {
position: fixed;
top: 300px;
left: 100px;
}
将id为coupon的元素相对于浏览器窗口放置于固定的位置,即不会随页面滚动条滚动而滚动
将left设置为负数的效果
当left为负数时,多余部分会隐藏
@相对定位
元素仍在正常的页面流中,然后再按你指定的量偏移元素
@inline-block间隙解决方案
(原文链接:https://blog.csdn.net/qq_32614411/article/details/82223624)
元素被当成行内元素排版的时候,元素之间的空白符(空格、回车换行等)都会被浏览器处理,根据white-space的处理方式(默认是normal,合并多余空白),原来HTML代码中的回车换行被转成一个空白符,在字体不为0的情况下,空白符占据一定宽度,所以inline-block的元素之间就出现了空隙。这些元素之间的间距会随着字体的大小而变化,当行内元素font-size:16px时,间距为8px。
————————————————
版权声明:本方案为CSDN博主「Hayley2016」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
@HTML5新特性
<article>
<nav> 全称navitation导航
<header>
<footer>
<time>
<aside>
<section> 一个主题性内容分组
<video>
以上标签可以替换原先复杂的div标签的id,并使其具有意义
video标签
<video controls autoplay width="512" height="288">
<source src="video/tweetsip.mp4">
<source src="video/tweetsip.webm">
<source src="video/tweetsip.ogv">
<p>Sorry, your browser doesn't support the video element</p>
</video>
controls 使用视频控件
autoplay 自动播放
source 视频地址,为应对不同浏览器而准备多种格式
更具体的指定格式,使浏览器更快的播放
<source src="video/tweetsip.ogv" type='video/ogg; codecs="theora, vorbis"'>
如果不知道codecs参数可省略
评论