前端技术HTML、CSS

1、html

  • 20个标签
1.1、例子
<!DOCTYPE html>			<!-- 标准对应关系标头 -->
<html lang="en">		<!-- 起始,类似html这种格式	:<html>dadadfad</html>叫一个html标签 -->
						<!-- lang="en"叫标签内部的属性 -->

<head>					<!-- 头的开始 -->
    <meta charset="UTF-8">
    <meta http-equiv="Refresh" content="3">		<!-- 3秒之后刷新网页 -->
    <meta http-equiv="Refresh" content="3;Url=https://www.zhihu.com">	<!-- 3秒之后跳转到新网页 -->
    <meta name="Keywords" content="星际2,地下城与知乎,赚网">                    <!--关键字-->
	<meta name="description" property="og:description" content="有问题,上知乎。知乎,可信赖的问答社区,以让每个人高效获得可信赖的解答为使命。知乎凭借认真、专业和友善的社区氛围,结构化、易获得的优质内容,基于问答的内容生产方式和独特的社区机制,吸引、聚集了各行各业中大量的亲历者、内行人、领域专家、领域爱好者,将高质量的内容透过人的节点来成规模地生产和分享。用户通过问答等交流方式建立信任和连接,打造和提升个人影响力,并发现、获得新机会。"/>
	<meta http-equiv="X-UA-Compatible" content="IE=IE9;IE=IE8;IE=IE7;">		<!--让该网页使用IE浏览器打开时,使用高版本模式打开-->
	<!-- Title --><!--网页头部标签-->
    <title>Title</title>
    <!--网页头部小图标-->
    <link rel="shortcut" href="image/aa.ico">	 
    
</head>					<!-- 头的结束 -->

<body>					<!-- 身体的头 -->
    <a href="https://www.zhihu.com/">知乎</a>
</body>					<!-- 身体的结束 -->
</html>					<!-- 结束 -->
1.2、例子2
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Python</title>
</head>
<body>
    <!--<a href="https://www.zhihu.com">李&nbsp;&nbsp;&gt;a&lt;尚</a>-->
    <!--&nbsp;  代表空格-->
    <!--&gt;    代表>-->
    <!--&lt;    代表<-->
    <p>dadadasfsfffffwqrsadfffdd<br>dddddd</p>
    <p>12345</p>
    <p>12345</p>

    <h1>LiShang</h1>
    <h2>LiShang</h2>
    <h3>LiShang</h3>
    <h4>LiShang</h4>
    <h5>LiShang</h5>
    <h6>LiShang</h6>

    <span>hello world</span>
    <span>hello world</span>

</body>
</html>

网页特殊符号HTML代码大全:https://www.cnblogs.com/web-d/archive/2010/04/16/1713298.html

1.3、标签分类
自闭和标签(很少):
	<meta charset="UTF-8">
主动闭合标签:
	<html lang="en"> ****** </html>
	<head> ****** </head>		head标签中海油几种标签
		<meta >		编码、跳转、刷新、关键字、描述、IE兼容
		<title>Title</title>	<!--网页头部标签-->
		<link />		搞图标
		<style />
		<script />

	<body> ****** </body>
body标签:
	- 图标, &nbsp;	&gt;	&lt;
	- p标签	<p>dadadasfsfffffwqrsadfffdd<br>dddddd</p>(块级标签),段落
	 		<p>12345</p>
    		<p>12345</p>								###一个p标签代表一个段落
	- br标签	<p>dadadasfsfffffwqrsadfffdd<br>dddddd</p>	######<br>代表换行,还在本段中
  ======================#-#-#-小总结-#-#-#======================
  所有标签分为:
	 块级标签: H 系列(加大加粗), p 系列(段落之间有间距), div 标签(白板), 
	 行内标签: span 标签(白板,无任何特性), 
  标签间可以嵌套
  标签存在的意义, 定位操作, js操作、css操作更方便
  ps: chorme审查元素的使用
  		- 定位
  		- 查看样式
  input系列:	10个必须会的
    input type='text'					#name属性, 用于让后台拿数据
    input type='password'				#name属性, 用于让后台拿数据
    input type='submit'	value="提交"		#提交按钮, 提交表单
    input type='button'	value="登录"		#普通按钮
    input type='radio' name="gender"	#单选框,value,name属性(name相同则互斥)
	input type='checkbox'               #复选框,value,name属性(批量获取数据)
	input type='file'                   #依赖form表单的一个属性,enctype='multipart/form-data'
	input type='rest'                   #重置
	<textarea>默认值</textarea>   -name属性
	select标签                    -name,内部option value,提交到后台,size,multiple

	- h 标签(块级标签)
    - span 标签(行内标签)
    - div 标签(块级标签)

  a 标签
  	- 跳转
  	- 锚, 跳转到目录对应的位置处功能:标签的id不允许重复
		<a href="#i1">第一章</a>
		<div id="i1" style="height:600px;">第一章的内容</div>

  img 标签,图片,属性可设置大小和超链接跳, yong<a>标签括起来, 可以点图片跳转网页
  	<a href="https://www.zhihu.com">
	<img src="mygirlfriend.jpg" title="真是大美女" style="height: 600px;width: 375px" alt="美女">
	</a>

	<form action="http://localhost:8888/index" method="GET" enctyp>
	###一个表单, action是提交的地址, method是提交的方式, GET是在URL里提交, POST是在内容里提交
        <input type="text"/>						##一个普通的文本输入框
        <input type="password"/>					##输入进去显示密文
        <!--{'user':'用户输入的数据','psd':'xxx'}-->
        <input type="button" value="登录1"/>			##一个提交的按钮
        <input type="submit" value="登录2"/>
    </form>

  列表
    <ul>
        <li>asda</li>				#前面带点 ·
    </ul>
    <ol>
        <li>dadsas</li>				#前面带序号 1. 2. ··· 100.
    </ol>
    <dl>
        <dt>ttt</dt>				#dt是标题
        <dd>ddd</dd>				#dd缩进一个是dt的内容
        <dt>qeqeda</dt>
        <dd>321easda</dd>
    </dl>
    
  表格1:		(简单的,不太规范)
  <table border="1">
        <tr>						###<tr>代表行
            <td>主机名</td>			###<td>代表列
            <td>端口</td>
            <td>备注</td>
            <td>操作</td>
        </tr>
        <tr>
            <td>172.16.1.1</td>
            <td>80</td>
            <td>web</td>
            <td>
                <a href="girlfriend.jpg">查看详细</a>
            </td>
        </tr>
        <tr>
            <td>172.16.1.8</td>
            <td>3306</td>
            <td>mysql</td>
            <td>
                <a href="33.jpg">查看详细</a>
            </td>
        </tr>
        <tr>
            <td>172.16.10.153</td>
            <td>10053</td>
            <td>zabbix</td>
            <td>
                <a href="dasdaf.png">查看详细</a>
            </td>
        </tr>
    </table>

  表格2:			(规范的, 就用这种方式)
  <table border="1">
    <thead>								###<thead>是表头, 里面是<th>
    <tr>
        <th>主机名</th>
        <th>端口</th>
        <th>备注</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>								###<tbody>是内容, 里面是<td>
    <tr>
        <td>192.168.1.1</td>			<!--<th colspan="2">80</th>-->该行占两列
        <td>80</td>						
        <td>web</td>
        <td>
            <a href="mygirlfriend.jpg">查看</a>
        </td>
    </tr>
    <tr>
        <td>192.168.10.10</td>			<!--<th rowspan="2">192.168.10.10</th>-->该列占两行
        <td>3308</td>
        <td>mysql</td>
        <td>
            <a href="dasdaf.png">查看</a>
        </td>
    </tr>
    <tr>
        <td>192.168.10.253</td>
        <td>1001</td>
        <td>java</td>
        <td>
            <a href="33.jpg">查看</a>
        </td>
    </tr>
    </tbody>
  </table>
  - label标签
  	-用于点击文字,使得关联的标签获取光标 
  	<label for="username">your name:</label>
  	<input id="username" type="text" name="user"/>

  - fieldset标签
<fieldset>
        <legend>登录框</legend>
        <label for="username">your name:</label>
        <input id="username" type="text" name="user"/>
    </fieldset>
<p>请选择性别:</p>
    男:<input type="radio" name="gender"/>	#可选择, name一样就表示只能选择其一
    女:<input type="radio" name="gender"/>

 - h 标签(块级标签)
			<h1>LiShang</h1>
    		<h2>LiShang</h2>
    		<h3>LiShang</h3>
    		<h4>LiShang</h4>
    		<h5>LiShang</h5>
    		<h6>LiShang</h6>					###显示内容大小不同,h1最大,h6最小
 - span 标签(行内标签)
    		<span>hello world</span>
    		<span>hello world</span>
    		<span>hello world</span>
    		<span>hello world</span>			###会横排显示
 - div 标签(块级标签)
    		<div>1</div>
    		<div>2</div>
    		<div>3</div>						###块级显示
label标签
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <label></label>
</body>
</html>
1.4、上文的http://localhost:8888/index的后台程序
#-*- coding:utf-8 -*-
# Author: li Shang

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        print("有人登录")
        u = self.get_argument('user')
        p = self.get_argument('psd')
        if u == 'lishang' and p == 'zhaoxiaomeng':
            self.write("Hello, world")
            print("他验证对了,这个用户是:%s" %u)
        else:
            self.write("gun")
            print("他验证错了,这个用户是:%s" %u)

    def post(self):
        print(u, p)
        self.write("hahaha")

application = tornado.web.Application([
    (r"/index", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()
1.5、例子
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="https://www.sogou.com/web" >
        <input type="text" name="query" />
        <input type="submit" value="搜索一下" />
    </form>
</body>
</html>

2、CSS

在标签上设置style属性:
	background-color: #4594ff;
	height: 66px;

编写css样式:

	1.标签的style属性
	2.写在head里面,style标签中写样式
		- id选择器
		#i1{
            background-color: #4594ff;
            height: 66px;
        	}
        	
        - class选择器
        	.名称{
			...
			}
			<标签 class='名称'> dada</标签>

		- 标签选择器
		div{
            background-color: black;
            color: white;
        }
        <div id="i2">2</div>				下面的div标签都会选用上面定义的样式
    	<div class="c1">4</div>				若是上面有定义好的c1样式,还是会选用c1

		- 层级选择器(关联选择器)(空格)
		span div{
            background-color: black;
            color: white;
        }
        <span id="i3">3
        	<div id="i4">ddadad</div>
    	</span>								这样只会是span里的div应用上述的样式,其他的div不会

		- 组合选择器(逗号)
		</head>
			<style>
        		#i1,#i2,#i3{
            		background-color: blueviolet;
            		color: black;
        		}
   		 	</style>
   		</head>
		<body>
   			<div id="i1">断桥是否下过雪</div>
    		<div id="i2">我望着湖面</div>
    		<div id="i3">随着</div>
		</body>
		
		- 属性选择器,下文里input标签且属性是type='text'的就会匹配后面的属性
		对选择到的属性再进行一次筛选
		input[type="text"]{width: 100px;height: 200px}
		<input type="text">				会匹配上面的属性
		<input type="password">			不会匹配上面的属性
CSS补充:
	1、position:
		a. fixed				    固定在某个位置,比如右下角
		<div onclick="shang();" style="height: 50px;width: 50px;background-color: #060606;color: white;
    	position: fixed;
    	"</div>

		b. relative + absolute		绝对位置
		<div style="position: relative; width: 500px; height: 200px; border: 1px solid red; margin: 0 auto">
        	<div style="position: absolute; bottom: 0; left: 0; width: 50px; height: 50px;background-color: black"></div>
    	</div>

	2、opacity: 0.5;	透明度
	3、z-index: 10;		多个position: fixed的情况下,谁的z-index值大谁在最外层
    4、overflow: auto	限制内容大小,出现搜索框
    5、overflow: hidden	限制内容大小,超出的直接隐藏
    6、/*当鼠标移动到当前标签上时,css属性才生效*/
      .pg-header .menu:hover{
          background-color: cadetblue;
      }
    7、background-image:url('1.png');	#默认图片大,图片重复访问
       background-repeat: repeat-y;
       background-position-x:
       background-position-y:
       background-position: 10px 10px;
例子1:
因为id不允许重复,这种方式也不好
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #i1{
            background-color: #4594ff;
            height: 66px;
        }
        #i2{
            background-color: brown;
            height: 48px;
        }
        #i3{
            background-color: forestgreen;
            height: 80%;
        }
    </style>
</head>
<body>
    <div id="i1">1</div>
    <div id="i2">2</div>
    <div id="i3">3</div>
</body>
例子 2:
class是可以重复的,因此这种方式最多
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .c1{
            background-color: mediumorchid;
            height: 10ch;
        	}
    </style>
</head>
<body>
    <div class="c1">4</div>
    <div class="c1">5</div>
</body>
</html>
例子 3:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .pg-header{
            position: fixed;
            right: 0;
            left: 0;
            top: 0;
            height: 48px;
            background-color: #2459a2;
            line-height: 48px;
        }
        .pg-body{
            margin-top: 48px;
        }
        .w{
            width: 980px;
            margin: 0 auto;
        }
        .pg-header .menu{
            display: inline-block;
            padding: 0 10px 0 10px;
            color: white;
        }
        /*当鼠标移动到当前标签上时,css属性才生效*/
        .pg-header .menu:hover{
            background-color: cadetblue;
        }
    </style>
</head>
<body>
    <div class="pg-header">
        <div class="w">
            <a class="logo">LOGO</a>
            <a class="menu">全部</a>
            <a class="menu">42区</a>
            <a class="menu">段子</a>
            <a class="menu">1024</a>
        </div>
    </div>
    <div class="pg-body">
        <div class="w">安能摧眉折腰事权贵</div></div>
</body>
</html>

效果:鼠标放上去以后能变色
在这里插入图片描述

2.05 颜色或样式的优先级问题
标签上的style最优先,其次按照在文中编写的顺序,越往下越优先
<!--文中div标签分别应用了c1,c2和自己本身定义的颜色,但是应用的优先级是有顺序的,下面的先应用-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .c1{
            background-color: cadetblue;
            color:white;
        }
        .c2{
            font-size: 48px;
            color: black;
        }
    </style>
</head>
<body>
    <div class="c1 c2" style="color: pink">正义的光</div>
</body>
</html>


可以看出,颜色的优先级是按照该样式在文中出现的顺序来决定的

2.06 引用另外的xxx.css文件中声明好的样式
/*commands.css文件的内容*/
.c1{
    background-color: cadetblue;
    color:white;
}

.c2{
    font-size: 48px;
    color: black;
}
<!--网页文件内容-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="commands.css">
</head>
<body>
    <div class="c1 c2" style="color: pink">前不见古人</div>
    <p>
    <div class="c1">后不见来者</div>
    <div class="c2">念天地之悠悠</div>
</body>
</html>

显示效果:
在这里插入图片描述

2.1 边框

边框,样式,颜色

<div style="border: 1px solid red">独怆然而涕下</div>
2.2 背景

2.3 float

让标签飘起来,块级标签也可以并排起来

<div style="width: 20%;background-color: #1E84E7;float: left">一二三四五</div>
<div style="width: 61%;background-color: #b061ff;float: right">上山打老虎</div>

效果:
在这里插入图片描述
父亲管不住子标签了:

<div style="width: 300px;border: 1px solid red">
    <div style="width: 96px;height: 30px;border: 1px solid cadetblue;float: left"></div>
    <div style="width: 96px;height: 30px;border: 1px solid cadetblue;float: left"></div>
    <div style="width: 96px;height: 30px;border: 1px solid cadetblue;float: left"></div>
    <!--加上这一条让父亲标签管住子标签-->
    <div style="clear: both;"></div>		
</div>
2.4 display
可以将div块级标签改造成行内标签		display: inline
可以将span行内标签改造成块级标签		display: block
行内标签(span、a):无法设置高度,宽度,padding,margin
块级(div)标签可以设置高度,宽度,padding,margin
  • display: inline-block
    具有inline, 默认自己有多少占多少
    具有block, 可以设置高度,宽度,padding,margin
    display: none 让标签消失

例子1:

<body>
    <div style="background-color: indianred">问君能有几多愁</div>
    <span style="background-color: darkcyan">恰似一江春水向东流</span>
</body>

效果:
在这里插入图片描述
接下来通过display改造一下
例子2:

<body>
    <div style="background-color: indianred;display: inline">问君能有几多愁</div>
    <span style="background-color: darkcyan;display: block">恰似一江春水向东流</span>
</body>

效果:
在这里插入图片描述

2.5 padding margin(0,auth)
  • 边距,内边距,外边距
  • margin: 外边距
  • padding: 内边距
<div style="border:1px solid indianred; height: 70px;">
    <div style="background-color: green;height: 50px;margin-top: 0px;"></div>
</div>
<p></p>
<div style="border:1px solid indianred; height: 70px;">
    <div style="background-color: green;height: 50px;padding-top: 0px;"></div>
</div>
2.6 text-align

2.7 height,width,line-height,color,font-size,font-weight
<div style="height: 100px;		<!--高度-->
width:80%;						<!--宽度,可选100px,也可选80%-->
border: 3px solid #b061ff;		<!--border:边框,solid:实体框,后跟框的颜色-->
font-size: 30px;				<!--字体大小-->
text-align: center;				<!--水平方向方向居中-->
line-height: 100px;				<!--垂直方向上居中,后面的高度和一开始定义的一致-->
font-weight: bold;				<!--文字加粗-->
color: #ff755f;					<!--文字颜色-->
">陈子昂</div>

显示效果:
在这里插入图片描述

3、作业:写一个简单的页面

写网页:
在这里插入图片描述
解:


posted @ 2022-02-18 17:32  中國颜值的半壁江山  阅读(56)  评论(0)    收藏  举报