重温Web前端基础
本篇幅中着重文字,只是记录一些自己的见解,巩固下自身基础
网页结构是什么?
结构层 html 导航,列表,段文字,图片,链接,
表示层 css 颜色,大小,位置,
行为层 JavaScript,弹出,切换等。
什么是html?
HTML是用来描述网页的一种语言。
不是编程语言,是标记语言
什么是CSS?
CSS (层叠样式表)
是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
何为javascript?
JavaScript一种脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
HTML
1993年开始提出草案,发展到现在,已经经历二十余年,版本也已经更新到现在的H5,html语言作为网络语言标准,在计算机的发展史中有不可或缺的地位。
一.书写自己的第一个页面
<!-- <!DOCTYPE html> 声明为 HTML5 文档 -->
<!DOCTYPE html>
<!--html 元素是 HTML 页面的根元素 -->
<html lang="en">
<!-- head头部标签 -->
<head>
<!-- 国际通用语言编码,防止在浏览器中出现乱码 -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 页面标题 -->
<title>Document</title>
</head>
<body>
<!-- 页面内容 -->
<div>这是我的第一个页面</div>
</body>
</html>
html语言在当今web页面中有不可或缺的地位。
二.HTML代码规范
在之前很多 Web 开发人员对 HTML 的代码规范知之甚少,在2000年至2010年,许多Web开发人员从 HTML 转换到 XHTML。使用 XHTML后 开发人员才逐渐养成了比较好的 HTML 编写规范
<!DOCTYPE html>,文档声明放在首行
<div></div>,推荐使用小写字母,虽然我们在书写代码时候,一些标签无论大小写都会被浏览器解析,但是如果我们在开发时使用大小写混写,美感度会大大降低,或许根本就不存在所谓的美感度吧,并且在后续的维护中,你会更加糟心。
注释:
在书写代码时切记一定要书写注释,一个开发项目少说也得个几千行吧,说大了几十万行都会有的,如果你不写注释,可能你今天加班写的代码,明天早上睡醒你都不知道自己写的是哪部分区域,或许甚至都不知道自己写的是什么了。
闭合标签:
<body>
<!-- 页面内容 -->
<div>这是我的第一个页面
</body>
就好比上面的代码,虽然能够被浏览器正常阅读出来,
这种后果就不用我过多说了吧。
属性命名:在写HTML时推荐使用小写命名,不要随便命名,按照老前辈的来,就好导航栏,我们一般命名为nav,在css样式中,一眼就可看到,假如你给它命名为a,那就够我们寻找半天了。
图片属性:一般在用img插入图片时,顺手写上alt属性,这样一来即使客户在网络不佳时,依然能看到这部分区域是什么,增加用户的体验感。
避免一行代码过长、空行、缩进、不在html代码中写css和javascript等等
CSS
CSS始于1999年,时至今日,也近二十年,css3的出现为html样式提供了莫大的工作效率,之前,html工作人员想要画出一个圆角,需要用使用大量html标签或者插入各种图片来合成,然而css的出现,只需要使用一个border-radius属性就可以完成。开发人员从此从切图的工作中解放出来,一个圆角,一个border-radius即可解决
使用css写两个样式
1.使用伪元素写出来个心形
<style>
/* 基于父级定位 */
.heart{
position: relative;
}
/* 使用伪元素画出两个图像,使用图形拼接来造出一个心 */
.heart::after,
.heart::before{
content: "";
position: absolute;
top: 100px;
left: 0;
right: 0;
margin: auto;
width: 50px;
height: 80px;
background: red;
/* borde-radius 有四个值 分别对应四个角,分别对应 左上 右上 右下 左下 */
border-radius: 50px 50px 0 0;
/* 旋转元素,两个一起旋转。等下只需要调动一个即可 */
transform: rotate(-45deg);
transform-origin: 0 100%;
}
/* 旋转元素 使它和before伪元素 拼接成一个心 */
.heart::after{
left: -100px;
transform: rotate(45deg);
transform-origin: 100% 100%;
}
</style>
</head>
<body>
<div class="heart"></div>
</body>
</html>
2.再来一个太极图
<div id="taiji"></div>
下面css样式
#taiji {
position: relative;
width: 200px;
height: 100px;
background: white;
border-color: black;
border-style: solid;
border-width: 4px 4px 100px 4px;
border-radius: 100%;
/* 这里50%也是可以的,目的是把正方形变成圆 */
margin: 100px auto;
animation: myfirst 4s linear infinite;
/* 这句代码是引用动画,需要动态的可以添加这句代码,动画定义在下方,如果不需要动态的,就无需添加这句话 */
}
#taiji::before,
#taiji::after {
content: " ";
position: absolute;
top: 50%;
left: 0;
width: 25px;
height: 25px;
background: white;
border: 38px solid black;
/* //调成50%也是可以的 */
border-radius: 100%;
}
#taiji::after {
left: 50%;
background: black;
border-color: white;
}
再给它加上动画,让它匀速无限旋转下去
@keyframes myfirst {
0% {
/* 当在0%时,让他旋转0度 */
transform: rotate(0deg);
}
100% {
/* 当在100%时,让他旋转360度 */
transform: rotate(360deg);
}
}