当前位置:网站首页>htmlcss

htmlcss

2020-11-06 01:16:12 好好先生

HTML总结:

一、HTML概述
0、HTML+CSS

HTML:超文本标记语言,其实就是用来开发网页的一门语言
CSS:层叠样式表,可以用于渲染网页、美化网页
做网页                建房子
HTML标签搭建网页的结构    砖块:搭建房子的结构
CSS样式:对网页进行美化    石灰、油漆:对房子进行美化

1、HTML介绍(了解)

HTML:超文本标记语言
    超文本:超过文本、超级文本
        不仅可以包含文本,还可以包含例如图片、音频、视频等各种格式
    标记:标签、元素,指的是用尖括号括起来的一组内容,例如:
        <div>,<img>,<h1>,<table>
        <div></div>
    其实就是用于开发网页的一门语言
关于HTML:
    1)HTML开发的网页文档,通常是以 .htm、.html 为后缀
    2)HTML开发的网页文档,可以通过浏览器打开并显示(浏览器就是一个HTML解析器)
    3)HTML本质就是一个文档(html/txt/word/ppt等)
    

2、HTML结构

HBuilderX快捷键: 
    ctrl+鼠标滚轮, 可以放大或缩小字体
    ctrl+insert, 可以将鼠标所在的行,或者将鼠标选中的行快速赋值到下方
    ctrl+/ 或 ctrl+shift+/, 可以快速生成注释符号

<!DOCTYPE html>: 用于声明当前文档是一个html格式的网页,并且版本是html5.0版本。
<html>: 根标签,所有的html内容都应该放在根标签内部
<head>: 头部分,用于存放网页的基本属性信息(例如:网页标题,网页的编码,引入的css文件,或JS文件)
<body>: 体部分,用于存放网页的可视化内容
<title>我的第一个网页</title>: 指定网页标签的标题
<h1>~<h6>: 指定网页内容的标题,例如文章/新闻等标题
<meta charset="utf-8">: 通知浏览器当前网页使用的编码,如果不指定这一行,网页文件保存使用utf-8,浏览器在打开这个网页时,如果不使用utf-8,就可能会出现乱码问题。

3、HTML语法

1)标签、标记、元素:就是用尖括号(<>)括起来的一组内容,例如:
    <head>,<body>,<h1>,<img>,<a>等
2)标签分为开始标签(<head>)和结束标签(</head>),通常开始和结束标签之间还可以存放其他内容。
    <head>
        <title>标题</title>
    </head>
3)自闭标签: 有些标签内部不需要写内容,通常可以写成自闭标签
    <img/>,<input/>,<br/>,<hr/>等
    <img/> == <img></img>
4)属性: 属性必须声明在标签上,属性可以有多个,多个属性之间用空格隔开
    属性包括属性名和属性值,属性名和属性值中间用等号连接
    属性的值用双引号或者单引号引起来。
    <img src="xx" id="xx" name="xx"/>
    <img src='xx' id='xx' name='xx'/>
5)注释格式: <!-- 注释内容 -->
    注释作用:a)为代码添加解释说明
        b)将一些暂时不需要执行的代码注释
        c)html注释中的内容浏览器不会解析,更不会显示
6)如何在网页中输入空格和换行
    由于浏览器会将多个连续的空白字符(空格、换行、制表符)解析成一个空格来显示,因此如果要想做空格或者换行需要用其他符号代替。
    a)可以使用 &nbsp; 实现空格
    b)可以使用 <br/> 标签实现换行

二、HTML标签
1、图像标签

img标签可以在网页中插入一幅图像,例如:
<img src="img/meinv01.jpg" width="40%"/>
其中,src属性: 用于指向图片的路径(相对路径,网络路径)
width属性: 指定图片的宽度
height属性: 指定图片的高度

关于路径问题:
1)不建议写带盘符的绝对路径,因为将来换一个发布环境,这个路径很可能是错的,所以不建议
    <img src="D:/JavaDevelop/HBuilderProjects/CGB-HTMLCSS-01/img/meinv02.jpg" width="40%"/>
2)建议写相对路径
    ./: 表示当前文件所在的位置,可以省略不写
    ../: 表示当前文件所在目录的上一级目录

    <img src="./img/meinv01.jpg" width="40%"/>
    表示在当前文件(html)所在的目录找img目录,在img目录下找meinv01.jpg文件

2、超链接标签

a标签用于在网页中实现一个超链接
点击超链接后,会跳转到另外一个位置(网页、图片、下载地址等),例如:
<a href="http://www.baidu.com" target="_blank">
    百度一下,你就不知道
</a>
其中href属性,用于指向所跳转到的url地址
target属性,用于指向以何种方式打开超链接
    _self: 在当前窗口打开超链接
    _blank: 在新窗口中打开超链接

3、表格标签

table: 用于定义一个表格,其中可以包含tr标签
tr(table row): 用于定义表格中的行, tr中可以包含td/th
td/th(table data cell): 用于定义表格中的单元格
    th(table header cell): 用于定义表头中的单元格,其中的文本默认会加粗并且居中。

colspan属性:设置单元格横跨的列数,例如:
    <td colspan="2">11</td>
    colspan="2": 设置当前单元格横跨两列
rowspan属性:设置单元格竖跨的行数
    <td rowspan="2">21</td>
    rowspan="2": 设置当前单元格竖跨两行

4、表单标签
4.1.表单的作用

表单的作用: 用于向服务器发送数据
向服务器发送数据的两种方式:
1)使用表单向服务器发送数据
    表单中往往存在表单项标签(用户名、密码、昵称、邮箱、验证码等),在表单项中可以输入数据,再提交表单就可以将输入的数据提交给相应的服务器。
2)使用超链接也可以向服务器发送数据
    http://www.baidu.com?user=张三&age=20&like=篮球
    在URL地址后面可以拼接问号,问号之前是url地址,问号之后可以拼接参数,参数包括参数名(user,age,like),和参数值(张三,20,篮球),多个参数之间用&分隔。在输入地址后访问服务器,就可以将地址后面拼接的参数一并带给服务器

4.2.form标签

<form action="http://www.baidu.com" method="GET|POST">
    ...
</form>
其中action属性:用于指定表单中的数据将会提交到哪个地址。
    例如:action属性指向百度服务器的网址,就意味着,表单中的所有数据都会提交到百度服务器。
method属性:指定提交方式,常用提交方式为GET和POST(区别后面会讲到)
    如果不指定method,默认是GET提交。

5、表单项标签
1)文本输入框(用户名/验证码/邮箱/昵称)

<input type="text" name="username"/>
<input type="text" name="email"/>
<input type="text" name="nickname"/>

2)密码输入框(密码/确认密码)

<input type="password" name="psw"/>
<input type="password" name="repsw"/>

3)单选框(性别/单选题选项)

<input type="radio" name="gender"/>男
<input type="radio" name="gender"/>女

4)多选框/复选框(多选题选项/岗位/爱好)

<input type="checkbox" name="like"/>篮球

5)下拉选框(省份/城市/市区选择)

<select name="prov">
    <option>北京市</option>
    <option>上海市</option>
    <option>广东省</option>
    ...
</select>

6)多行文本输入框

<textarea name="desc"></textarea>

7)按钮/提交按钮

<input type="button" value="换一张"/>
普通按钮本身没有功能,可以通过js为按钮添加功能(比如点击后,换一张图片)

<input type="submit" value="提交/登录/注册"/>
提交按钮用于提交表单,将表单中的数据提交给action属性所指向的服务器

6、注册表单案例
表单项的细节问题:
1)表单项上的name属性有什么作用?

<input type="text" name="user"/>
<input type="password" name="psw"/>
要提交数据的表单项(例如:用户名/密码/性别/爱好/昵称/邮箱/验证码等)都必须得有name属性,如果没有name属性,在表单提交时,该项会被忽略(即无法提交数据)

2)为什么单选框可以多选?

所有单选框的name属性值必须相同,值相同则说明是一个组,一个组中的单选框只能选一个(即单选)
<input type="radio" name="gender"/>男
<input type="radio" name="gender"/>女

3)为什么单选框或复选框提交时的值为on?

因为单选框或复选框不像文本输入框,输入在框中的内容就会作为value提交
单选框或复选框不能输入,所以只能通过value属性来指定提交时的值
<input type="radio" name="gender" value="male"/>男
<input type="radio" name="gender" value="female"/>女
<input type="checkbox" 
    name="like" value="basketball"/>篮球

4)如何设置单选框或复选框默认选中某一项?

<input type="radio" checked name="gender" value="male"/>男
<input type="checkbox" checked
    name="like" value="football"/>足球
在单选框或复选上可以添加checked属性来设置某一项默认被选中

5)如何设置下拉选框中的某一项默认被选中?

下拉选框默认选中第一项, 如何要设置第一项以外的其它选项默认被选中
可以在option标签上添加一个selected属性。
<select name="city">
    <option>北京</option>
    <option>上海</option>
    <option selected>广州</option>
    <option>深圳</option>
</select>

6)option标签上的value属性的作用是什么?

例如: 如果"上海"选项被选中,而"上海"的option上面没有value,则会提交city=上海;
如果在"上海"选项上有value属性,在"上海"被选中被提交时,就会提交value属性的值。
<select name="city">
    <option>北京</option>
    <option value="shanghai">上海</option>
    <option selected>广州</option>
    <option>深圳</option>
</select>

7、音频、视频标签
7.1.音频标签

audio可以在网页中插入音频流
<audio controls src="audio/沙漠骆驼_展展与罗罗.mp3">
    如果您看到这段内容,则说明您的浏览器不支持此标签
</audio>
src属性: 指定所要插入的音频的url地址
controls属性: 为用户添加播放、暂停、音量控制等插件
autoplay属性: 在音频加载完成后,立即播放(自动播放)
width、height: 设置元素的宽度和高度

7.2.视频标签

video可以在网页中插入视频流
<video autoplay controls src="video/小拳拳.mp4">
    如果您看到这段内容,则说明您的浏览器不支持此标签
</video>
src属性: 指定所要插入的视频的url地址
controls属性: 为用户添加播放、暂停、音量控制等插件
autoplay属性: 在视频加载完成后,立即播放(自动播放)
width、height: 设置元素的宽度和高度

7.3.div/span/p标签

div/span/p标签是非常普通的但是又很常用的标签
这三个元素都是容器标签,可以用来包裹其他的标签或者文本
在标签上设置样式,就可以作用在其中的内容上。
<div style="color:red;font-size:30px">
    <span>文本文本文本</span>
    <input />
    <p>这是一个p元素</p>
</div>

div、p:是块元素,默认独占一行,都可以设置宽高
    同是块元素的还有: h1~h6,form,table,div,p等
span:是行内元素,多个行内元素可以显示在同一行,不能设置宽高
    同是行内元素的还有: span,b,i,u,input,img

CSS总结:

一、CSS概述
1、什么是CSS

CSS:层叠样式表,是用于美化、渲染网页的一门语言
和传统的html标签属性设置样式相比,使用CSS设置样式可以实现:将展示数据的html代码和设置样式的CSS代码进行分离,可以增强网页的展示能力。

2、如何在html中引入CSS
2.1.在标签上的style属性内部添加css样式

<div style="border:2px solid #FF0000;font-size:26px;background:pink;">
    这是一个div...
</div>
这种方式是将css样式直接写在标签上的style属性内部,只对当前标签有效,无法实现代码的复用,而且容易造成页面结构的混乱,不利于后期的扩展和维护。所以不建议大量使用。

2.2.在head标签内的style标签内部添加css样式

<style type="text/css">
    span{ 
        border:2px solid green;
        /* 设置字体大小 */
        font-size:30px;
        /* 设置字体粗细 */
        font-weight:bolder;
    }
</style>
这种方式是将所有的css样式在一个style标签内部统一管理,没有将css代码写在标签上,因此不会造成页面结构的混乱,而且可以实现代码的复用

2.3.通过link标签引入外部的css文件

<!-- 引入外部的demo.css文件 -->
<link rel="stylesheet" href="demo.css"/>
这种方式是将所有的css代码写在一个css文件中统一管理,真正的实现了: 将html代码和CSS代码进行分离。可以实现代码的复用,也不会造成页面结构的混乱。
推荐使用这种方式(特别是在企业开发中)

二、CSS常用选择器

所谓的选择器,就是可以帮我们在html中选中元素进行修饰的一门技术

1、元素名/标签名选择器

通过元素的名字或者标签的名字选中指定名称的所有标签
格式: 元素名/标签名{ css样式.. }
span{} -- 选中所有的span元素
div{} -- 选中所有的div元素

2、class类选择器

可以在标签上添加一个通用的属性--class,为元素设置所属的分组,class值相同的则为一组, 通过class值可以选中这一组的元素。
格式: .class值{ css样式.. }
.s1{} -- 选中所有class值为s1的元素

另外,一个元素可以同时设置多个class值,例如:
<span class="s1 s2">span111</span> 
表示当前这个span元素同时属于s1分组和s2分组,如果s1和s2给这个span设置背景(但值不同),写在后面的会覆盖前面的(针对同一类选择器)。

如果是不同类的选择器,例如:使用元素名、类选择器、id选择器选中同一个元素,设置相同的属性,但值不同,优先级顺序是:
    id选择器(100)>类选择器(10)>元素名选择器(1)
如果一个选择器中包含多个选择器类别,可以通过权重值相加,权重值大的优先级高
如果权重值相同,书写在后面的会覆盖前面的!

3、id选择器

在标签上可以添加一个通用的属性--id,id是编号,要求在整个网页中是独一无二的。通过id值,可以唯一的选中一个元素。
格式:#id值{ css样式.. }

4、后代选择器

在父选择器选中的元素内部,选中指定的后代元素
格式: 父选择器 后代选择器{ css样式... }
div span{} -- 选中所有div内部的span元素
#d1 p{} -- 选中id值为d1元素内部的p元素

5、属性选择器

可以通过元素的属性或属性值匹配元素
格式: 选择器[属性条件][属性条件]..{ css样式 }
input[type="password"]{} -- 选中所有的密码输入框
input[type="checkbox"]{} -- 选中所有的复选框
div[id]{} -- 选中所有具有id属性的div元素

三、CSS常用属性总结
1、文本、字体相关属性

text-align:设置文本水平排列方式
    left(居左,默认)、center(居中)、right(居右)
text-indent:设置文本首行缩进,百分比或像素值

text-shadow:设置字体阴影
    
letter-spacing:设置字符间隔/间距

font-siz:设置字体大小
font-weight:设置字体粗细,
    100~900,bold,bolder,normal
font-family:设置字体,"微软雅黑","宋体","楷体"等
color:设置字体颜色

2、背景相关属性

background是一个综合属性,可以同时设置背景颜色/背景图片/背景图片是否重复/背景图片的位置等
background-color: 设置背景颜色
background-image: 设置背景图片
background-repeat: 设置背景图片是否以及如何重复排列
backgronnd-position: 设置背景图片的位置
backgournd-size: 设置背景图片的大小

3、边框属性

border: 2px solid red; -- 同时设置边框的宽度、样式、颜色
border-width: 2px;
border-style: solid;
border-color: red;

border-radius: 设置圆角边框

4、其他属性

width: 设置元素的宽度
height: 设置元素的高度
--------------------------------
margin: 设置元素的外边距
margin-top: 设置元素的上外边距
margin-left: 设置元素的左外边距
margin-right: 设置元素的右外边距
margin-bottom: 设置元素的下外边距

margin: 10px 20px 30px 40px; /* 上 右 下 左 */
margin: 10px 20px 30px; /* 上 左右 下 */
margin: 10px 20px; /* 上下 左右 */
margin: 10px; /* 上下左右 */
--------------------------------

5、补充内容:颜色取值方式

方式一: 使用颜色的名称(英文单词)
    red green blue black yellow pink
    
方式二: #六位十六进制数(AABBCC==ABC)
    #FF0000 #00FF00 #0000FF #000000 #FFFF00 #FFFFFF

    #F00    #0F0    #00F    #000    #FF0    #FFF

方式三: rgb(255,255,255)
    rgb(255,0,0) rgb(0,255,0) rgb(0,0,255)
    

四、网页综合实战:京淘登录页面

详细见代码!

版权声明
本文为[好好先生]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000037740574