当前位置: 移动技术网 > IT编程>网页制作>Html5 > 前端学习日记 (一)

前端学习日记 (一)

2019年11月03日  | 移动技术网IT编程  | 我要评论

前端介绍

前端开发是创建web页面或app等前端界面呈现给用户的过程,通过html、css、javascript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。它从网页制作演变而来,名称上有很明显的时代特征。

html用于展现网页的内容、css用于展现网页的外观、javascript用于实现一些网页动作。

 

web框架的本质

浏览器输入网址回车后都发生了什么?

浏览器(客户端)给服务端发送了一个消息,服务端在拿到了消息之后,服务端返回消息,浏览器展示页面

 

客户端和服务端的消息格式要一致,因此就有了http协议来约束两边的消息格式。

我们可以写一个服务端来访问自定义的网页:

import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8000))
sk.listen(4)

while 1:
    conn,addr = sk.accept()
    data = conn.recv(1024)                      #接收消息
    conn.send(b'http/1.1 200 ok\r\n\r\n')
    conn.send(b'hello world!')                  #发送消息

    conn.close()

执行代码后再打开浏览器去访问127.0.0.1:8000这个网址,就可以看到下面的页面:

改变程式码:

conn.send(b'<h1>hello world!</h1>\n')

这样字体就发生了改变:

发送多行的html代码

我们可以新建一个txt文件,把要执行的html代码放到里面 

服务端通过文件读取html代码展现页面:

import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8000))
sk.listen(4)

while 1:
    conn,addr = sk.accept()
    data = conn.recv(1024)                      #接收消息
    conn.send(b'http/1.1 200 ok\r\n\r\n')
    with open('h.txt','rb') as f:
        msg = f.read()
    conn.send(msg)
    conn.close()

txt文档:

那最后的展现结果和上面是一致的

展示图片:

在网上随便找一张图片去拿到它的图片地址,然后在txt档中写下这段代码:

<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:and9gctfc_ukj_78k9qpn5-joc16waa-phw7hf8lgst8avumfen3fghr&s'>

执行服务端代码再刷新网页:

增加一个链接

<a href='https://ieeexplore.ieee.org/xplore/home.jsp'>open website!</a>

执行服务端代码再刷新网页:

web开发的本质:服务端、浏览器、html文件

同样如果要将txt档里的文件变更为html档,也是可以有相同的执行效果

服务端:

import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8000))
sk.listen(4)

while 1:
    conn,addr = sk.accept()
    data = conn.recv(1024)                      #接收消息
    conn.send(b'http/1.1 200 ok\r\n\r\n')
    with open('h.html','rb') as f:
        msg = f.read()
    conn.send(msg)
    conn.close()

 

常用标签

html是一个标准它规定了大家怎么写网页

像'<标签名>...</标签名>'这种格式的语言是标记语言,比如xml、html。标签可以分为单标签和双标签。

那像前面所写的html语句并不是规范的语句,接下来对它进行改进:

<!doctype html>     <!--声明这是一个html5的文件-->
<html>           <!--html格式-->
    <head>      <!--用来展示浏览器相关的一些信息(标题、引用的文件)-->

    </head>
    <body>      <!--放文件-->
        <h1>hello world!</h1>
        <img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:and9gctfc_ukj_78k9qpn5-joc16waa-phw7hf8lgst8avumfen3fghr&s'>
        <a href='https://ieeexplore.ieee.org/xplore/home.jsp'>open website!</a>
    </body>
</html>

标签分析

我们可以直接创建一个新的html档,里面就有已经写好的html结构

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>title</title>
</head>
<body>

</body>
</html>

<html lang="en">...</html>表示这个网页的主要语言是英文,那如果是中文可以改成<html lang="zh-cn">...</html>

<meta charset="utf-8">表示编码方式为utf-8

<title>...</title>表示网页的标题

<!--注释内容-->表示注释

<style>...</style>表示内部的样式表

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>my first html file</title>
    <style>
        a{
            color:red;
         }
    </style>
</head>
<body>
    <a href="">hello world!</a>     
</body>
</html>

网页结果:

<script>...</script>表示js代码或引入js外部文件 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>my first html file</title>
    <style>
        a{
            color:red;
         }
    </style>
    <script>
        alert("please wait...")
    </script>
</head>
<body>
    <a href="">hello world!</a>
</body>
</html>

网页结果:

<link/>引入外部样式表文件,比如说把css写入另外一个文件中在通过link给引入进来 

先创建一个c.css文件再写入代码:

a{
    color : green;
}

再在html文件中引入这个css文件:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>my first html file</title>
    <link rel="stylesheet" href="c.css">
</head>
<body>
    <a href="">hello world!</a>
</body>
</html>

最后网页上显示:

<meta/>定义网页元信息

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="description" content="html meta,meta properties,meta conclution">   <!--表示这个网页的相关描述-->
    <meta name="keywords" content="the first html file.">                           <!--表示网页的关键字-->
    <meta http-equiv="refresh" content="10;https://www.runoob.com/">                <!--表示这个网页在十秒之后跳转到另外一个网站-->
    <meta http-equiv="x-ua-compatible" content="ie=edge">                           <!--让ie以最高模式渲染文档-->
    <title>my first html file</title>
    <link rel="stylesheet" href="c.css">
</head>
<body>
    <a href="">hello world!</a>
</body>
</html>

<h1、2..6>...</h1、2...6>之间的差异

<!doctype html>
<html lang="en">
<head>
</head>
<body>
    <h1>this is h1!</h1>
    <h2>this is h2!</h2>
    <h3>this is h3!</h3>
    <h4>this is h4!</h4>
    <h5>this is h5!</h5>
    <h6>this is h6!</h6>
    this is h!
</body>
</html>

网页效果:

<img src=" " alt=" " title=" ">src表示图片的来源地址,alt表示当图片失效后的一些处理,title表示图片的提示

<a href=" " target="_blank">...</a>表示可以保留当前的页面下开启一个新的页面

<!doctype html>
<html lang="en">
<head>
</head>
<body>
    <a href='https://ieeexplore.ieee.org/xplore/home.jsp' target="_blank">open website!</a>
</body>
</html>

制作到顶部到底部效果:

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    <a href="#a2" id="a1">到底部</a>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <h1>aaaaaaaaa</h1>
    <a href='https://ieeexplore.ieee.org/xplore/home.jsp' target="_blank">open website!</a>
    <a href="#a1" id="a2">到顶部</a>
</body>
</html>

 

其他常用标签

1.<b>...</b>表示字体加粗

2.<i>...</i>表示斜体

3.<u>...</u>表示加下划线

4.<s>...</s>表示加删除线

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    你好!
    <b>你好!</b>
    <i>你好!</i>
    <u>你好!</u>
    <s>你好!</s>
</body>
</html>

5.<p>...</p>表示一个段落

6.<br>表示换行

7.<hr>表示水平线

 

特殊字符

1.空格 &nbsp;

2.>  &gt;

3.<  &lt;

4.&  &amp;

5.¥     &yen;

6.©  &copy;

7.注册 &reg;

 

div标签和span标签

div标签:用于定义一个块级元素,本身没有其他的特点,可以通过css样式去赋予不同的表现

span标签:用来定义一个行内元素,本身没有其他的特点,可以通过css样式去赋予不同的表现

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    <div>d第一行!</div>
    <div>d第二行!</div>
    <div>d第三行!</div>
    <span>s第一行</span>
    <span>s第二行</span>
    <span>s第三行</span>
</body>
</html>

网页效果:

标签可以分为块级标签行内标签

块级标签(h1~h6、div、p、hr):

  默认占浏览器长度、能设置长和宽

行内标签(a、img、u、s、i、b、span):

  根据内容决定长度、不能设置长和宽

 

列表标签

分为有序列表、无序列表和标题列表

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    <ul>
        <li>apple</li>
        <li>orange</li>
        <li>pear</li>
    </ul>

    <ol>
        <li>apple</li>
        <li>orange</li>
        <li>pear</li>
    </ol>
</body>
</html>

网页效果:

 

无序列表<ul>...</ul>:

type属性:

①disc(实心圆点,默认值)

②circle(空心圆圈)

③square(实心方块)

④none(无样式)

以实心方块为例:

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    <ul type="square">
        <li>apple</li>
        <li>orange</li>
        <li>pear</li>
    </ul>
</body>
</html>

网页效果:

 

有序列表<ol>...</ol>:

type属性:

①1 数字列表,默认值

②a 大写字母

③a 小写字母

④i 大写罗马

⑤i 小写罗马

strat属性(表示这个标签的起始值)

以大写罗马为例:

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    <ol type="i" start="5">
        <li>apple</li>
        <li>orange</li>
        <li>pear</li>
    </ol>
</body>
</html>

网页效果:

标题列表

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
</head>
<body>
    <dl>
        <dt>title1</dt>
        <dd>content1</dd>
        <dd>content1</dd>
        <dt>title2</dt>
        <dd>content2</dd>
        <dd>content2</dd>
    </dl>
</body>
</html>

网页效果:

 

 

表格标签

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="gb2312">
    <title>表格示例</title>
</head>
<body>
    <table border="1" cellpadding="10" cellspacing="0" width="0">
        <!--border表示边框的像素 cellpadding表示内边距 cellspacing表示外边距 width表示像素的百分比-->
        <thead>             <!--thead可以写也可以不写-->
            <tr>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>爱好</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>alice</td>
                <td>18</td>
                <td rowspan="2">male</td>   <!--rowspan表示单元格竖跨多少行(类似于合并单元格) colspan表示单元格横跨多少列-->
                <td>football</td>
            </tr>
            <tr>
                <td>bob</td>
                <td>19</td>
                <td>skiing</td>
            </tr>
            <tr>
                <td>maria</td>
                <td>20</td>
                <td colspan="2">female</td>
            </tr>
        </tbody>
    </table>
</body>
</html>

网页效果:

 

 

 

快捷写法

1.h1*4+tab

<h1></h1>
<h1></h1>
<h1></h1>
<h1></h1>

2.h1*4>a+tab

<h1><a href=""></a></h1>
<h1><a href=""></a></h1>
<h1><a href=""></a></h1>
<h1><a href=""></a></h1>

3.h1*4>a{标签$}+tab

<h1><a href="">标签1</a></h1>
<h1><a href="">标签2</a></h1>
<h1><a href="">标签3</a></h1>
<h1><a href="">标签4</a></h1>

4.h1*4>a.c1{标签$}+tab

<h1><a href="" class="c1">标签1</a></h1>
<h1><a href="" class="c1">标签2</a></h1>
<h1><a href="" class="c1">标签3</a></h1>
<h1><a href="" class="c1">标签4</a></h1>

5.h1*4>a.c1[id=a$]{标签$}+tab

<h1><a href="" class="c1" id="a1">标签1</a></h1>
<h1><a href="" class="c1" id="a2">标签2</a></h1>
<h1><a href="" class="c1" id="a3">标签3</a></h1>
<h1><a href="" class="c1" id="a4">标签4</a></h1>

5.多行操作alt键+左键

 

总结

1.行内标签不能嵌套块级标签

2.p标签不能嵌套块级标签    

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网