这段时间学到很多东西,下面是我稍微整理的老师的笔记
html
1、网页有那些部分组成:
文字、图像、链接等元素组成,还包括音频,视频flash等组成。
2、常见的浏览器:ie、火狐、Chrome、edge,Opera浏览器、Safari、
3、web标准三层组成:结构(网页元素进行整理和分类,主要是html),表现(设置网页元素的版式颜色大小外观样式,主要是指css),行为(网页模型定义及交互的编写,主要是学javascript)
4、html的认识:
html是超文本语言,用来描述网页的一种语言
html不是编程语言,而是一种标记语言
标记语言是一套标记标签
标签有自己的语法规范,要放在<>
5、html的基本骨架:
<html>-------(html最大的标签,跟标签)
<head>
<title></title>
</head>
<body>--------(html的主体)
</body>
</html>
html标签名,类名,标签书写小写。
6、标签之间的关系:
嵌套标签--父子关系:(如果是嵌套关系,按下tab键缩进一个身位,)
并列关系--兄弟关系:(并列写就可以了)
7、标题标签:h1~h6 <h1>一个页面出现一次,并且放logo最好,h2标签在一个页面出现2次,h3到h6任意使用
段落标签p:双标签,用来放一段文字
水平线标签hr 单标签,下划线<hr />
8、div和span标签;
.div标签:大标签,用来座网页布局的,独自占一行,一行只能放一个div
span标签:小标签,用来布局的,一般用来放小图标或者特殊效果的文字,一行可以有多个span
文本格式化标签
9、图像标签:img是单标签,
<img src="图像url" />
img常用的属性:
src:url(图像路径)
alt :替换文本(图像不能正常显示替换文本)
title :提示文本(鼠标放在图片上,显示的文字)
width:(宽度)一般情况下只给一个就可以额,不然两个都给会变形
height:(高度)
brder:边框
链接标签:
<a href="跳转目标" target="">文本或者图片</a>
html第二天
1、表格作用(用来展示数据的 ,让数据额度更整齐规范)
2、表格的基本结构:table标签
<table>---------------(表格标签)
<tr>------------------(行标签)
<td>单元格的文字</td>----------(单元格标签)
.....
</tr>
.....
</table>
<tr>只能嵌套<td>标签
3、table表格的常见属性:
border:边宽,border=“2”;如果border不设置边框
width:width=“10“
height:
cellspacing:单元格与单元格的距离;
cellpadding:单元格与单元格内容的距离
align:水平线的对齐方式,left,center,
一般开发情况下,我们设置cellspacing、cellpadding为0;
4、表头单元格标签:<th>
一般单元格第一行或者第一列比较重,文字会加粗
5、表格标题标签caption
1、必须紧随放在table,
2、这个标签必须在表格里面才有意义
3、定位表格的标题,居中且位于表格之上。
6、单元格的合并:
跨行的合并:rowspan=“合并的个数”
跨列合并:colspan=“合并的个数”;
合并的顺序是按照先上后下,先左后右,
合并单元格的三部曲:
1,先写一个几行几列的表格
2.先确定是跨行还是跨列
3.先找到目标单元格,先上后下还是先左后右,然后写上合并的方式和数量
4.删除多余的单元格
表格的划分(了解):
6、<thead></thead>定义表格的头部
<tbody></tbody>定义表格的身体;
<tbody>必须有hr标签。
<tfoot></tfoot>定义表格的底部。
7、列表的分类:
列表用来布局,比表格的自由度更高;
无序列表(ul)、有序列表(ol)、自定义列表
无序列表基本结构:
<ul>
<li>列表项1</li>
<li>列表项2</li>
.....
</ul>
注意:
1、<ul>只能嵌套<li>,不能嵌套其他标签;
2、<li></li>之间相当于一个容器,可以放所有元素
3、li的默认的列表样式用css来做;
有序列表的结构(基本和无序列表一样,用的比较少)
<ol>
<li>列表项</li>
<li>列表项2</li>
....
</ol>
自定义列表:
<dl>
<dt>名词1</dt>
<dd>解释名词1</dd>
<dd>解释名词2</dd>
......
</dl>
<dl>有两个兄弟<dt>和<dd>
dl嵌套dt和dd,dt表示我们要描述的标题,dd表示描述的内容;
一个dl里面可以嵌套多对dt和dd,一个dt可以对应多个dd;
8表单(重点)
目的:收集用户信息;
一个完整的表单包含:表单控件(表单元素)、提示信息和表单域三部分组成
<input>控件(单标签)
<input type="属性值" value="" name="">
value:是默认的文本值;
name:给表单进行区别,给后台通过name名称获取不同的数据找到这个表单,主要作用区别不同表单
type的属性值:
text:文本框;<input type="text" value="输入用户名" name="username" />
password:密码框;<input type="password" value="输入密码" name="pwd" />
radio:单选框按钮;<input type="radio"name="" />(name属性不可少,用同一个name)想要实现单选效果,必须设置name名称;
checkbox:复选框;<input type="checkbox" name="" />name的取值是一样的,不影响多选效果。
input的按钮组
button:普通按钮;<input type="button"value=""/>普通按钮必须填写value值
sumbit:提交按钮;<input type="submit value="" />提交按钮可以不写value值;
reset:重置按钮:<input type="reset" / value="重置"/>重置按钮value值必须填写
image:图片按钮:<input type="image"src="images/1-1.jpg" />
file:文件域:<input type="file"/>
checked表示默认选中:常见于单选按钮和复选按钮中
3.如果想要实现单选和复选的默认选中,<input type="radio/checkbox" checked="checked">
4、<button></button>这个也是一个按钮
8、label标签:
当我们点击label标签的时候,被绑定的表单元素会获得输入焦点
第一种用法:label直接包含表单:
<label>用户名:<input type="text"/></label>
第二种用法:通过for和id来控制,用for属性规定label与那个表单元素绑定,
<label for="nc">昵称:</label> <input type="text" id="nc" />
9、文本域(双标签)
<textarea cols="每行的字符数" rows="显示的行数"></textarea>
cols="每行的字符数" rows="显示的行数"一般开发中不用,用css来改变样式。
input可以显示一行文本,单标签,通过value设置默认值,使用与用户名,密码等;
textarea可以显示多行文本,双标签,一般用于留言本。
<select>中至少有一个option
option中selected=“selected"表示默认被选中,也可以简写成selected;
实际在开发中用的少
9、form表单域的标签:
收集用户信息通过form表单域传递给服务器,
form的属性:
action:url地址------用于指定接受并处理表单数据程序的url的地址;
method: 定义处理程序从表单获得信息的方式(get和post);get是明文提交,post是密文提交
name:用于指定表单的名称,和后台处理程序出现混乱而设置的名称;
(有表单的地方就有表单域)
注意:一个页面设置了很多form。
css部分:css样式标准:
css中属性值是数字一般情况下都要加单位;
css入门:html页面达不到美观的要求,用css进行美化
1、css叫做:层叠样式表(级联样式表)
css作用设置页面版面布局和外观显示样式美化。
使用css的原理:能够将html结构和css样式分离,简化代码,提高可读性
2、css的书写:(css里没有=,用:)
行内式、 内部样式表(内联样式)、 外部样式表
行内样式表:
将样式用哪个style属性添加标签,在标签的开始标签身上,敲空格,然后将style当做属性来添加,style后面的双引号里面书写css语法,属性1:属性值1;
<标签名 style=“属性1:属性值; 属性2:属性值;....">
实际上任何html标签都具有style属性,每个属性加一个空格隔开,以;结束。(给谁改样式就把style写在哪个标签内)
注意:由于行内式没有实现结构和样式的分离,所以不建议使用,文件可读性差,不建议大量使用;
常见的文字控制属性:
颜色:color; 字体大小:font-size
内部样式表:
<head>
<style type="text/css>
选择器(选择的标签名){
属性1:属性值1;
属性2:属性值2;
.....
}
</style>
</head>
注意:
style标签可以放到html的任何地方,一般建议放在head标签中,
type=“text/css”可以省略的;
内部样式只能对当前的页面起作用;
外部样式表(外链式)(书写在head里面):
称链入式(实现结构和样式相分离,样式共享)
步骤:
01、新建一个.css文档,放在项目下面的css文件夹里;
02、单标签link标签配合自己的3属性,
rel:关系,告诉浏览器当前引入的文件和html是样式表的关系;
type:类型,告诉浏览器当前引入的是css文件类型
href:路径,告诉浏览器去这个路径找到我们css文件
将所有的样式放在一个或多个以css
<head>
<link href="" type="text/css" rel="stylesheet" />
</head>
外部链接的优点:
1、可以把页面样式一致的写一个样式列表,然后直接用link配合三属性调用,能够更好管理页面;
2、实现样式和结构的完全分离,建议大家使用
3、css的样式规则:
css的注释/*注释内容*/
html的注释<!--注释的内容-->
所有的注释提高代码的可读性,写给自己看的,浏览器不解析的
css的样式规则(键值对规则)
1、确定给是加样式-----选择器;
2、书写{}
3、在{}里面写键值对规则{属性1:属性值1;属性2:属性值2}
4、css选择器:
css选择器可以分为基础选择器和高级选择器(复合选择器);
基础选择器又分为标签选择器(元素选择器),类选择器,id选择器,通配选择器;
高级选择器又分为(复合选择器)。后台选择器,指定标签选择器,并集选择器
选择器的作用:找到特定的html元素;选择标签用的,把我们想要的标签选择出来。
基础选择器
标签选择器(元素选择器)
标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
作用:可以把某一类的标签全部选出来
优点:能够快速为页面中同类型的标签统一样式;
缺点:不能差异化样式
口诀:标签选择,页面通选起,直接写标签,全部不放弃。
标签选择器在开发中不建议使用
类选择器:
类选择器的步骤:
.类名 {
属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
}
第一步定义:在css里用.定义:用.去定义样式 .+类名称{}
第二部:在html那个标签需要,就在开始标签空格 class="类名称“
注意:不能使用纯数字,中文,建议使用英文
由于类名称可以重复出现使用,前提条件是两个盒子的样式是完全一致的。就和人的名字一样,是可以重复的。
一个标签内部只能有一个class
类选择器的特殊用法(多类名):
一个class调用多个类名时:
一个标签内部只能写一个class,如果有多个类名时,每一个类名用空格隔开
比如:<div class="red font100">一个元素调用多个类名</div>
优点:多类名调用可以解决统一修改某一个属性,还可以简化代码。
注意:各个类名中间用空格隔开。
多类名选择器在后期布局比较复杂的情况下,还是较多使用的。
id选择器:
#id名 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
id选择器使用#进行标识,后面紧跟id;
id选择器和类选择器区别(使用次数上):
元素的id是唯一的,好比人的身份证号码,不能重复,只能用一次;
类选择器就好比人的名字,可以多次重复使用;
类选择器是:
类选择器我们在修改样式中,用的最多
id选择器一般是用在页面唯一性的元素身上,在js中搭配使用;
id选择器的命名规则:不能用纯数字,不能中文命名,使用英文,可以数字结合;
通配符选择器:
* { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
一个*号表示选中所有标签,(包括我们学过和没有学过的w3c规定的标签;
*{
marrgin:0;
padding:0;
}
以上代码所有标签默认的margin设置为0;
padding为0;(不建议使用)
选择器
尽量少用通用选择器 *
尽量少用 ID 选择器
不使用无具体语义定义的标签选择器 div span
尽量使用类选择器来布局
css文本样式:
font-size:文字大小(强制记忆)
(以后文字大小单位使用px em,px常用,em表示一个字的大小,一般用于首行缩进
谷歌浏览器默认的文字大小是16px;但是由于不同浏览器字体大小不一致,我们尽量给一个明确值大小,不要默认大小,一般给body指定整个字体大小,按照项目需求,一般是12px、14px、16px之间
color:颜色;
font-family:字体:(强制记忆)
p{
font-family:Arial, "Microsoft YaHei”,“黑体”;
}
网页中常用的字体有宋体,微软雅黑,一般浏览器默认的是微软雅黑;
可以取值一个或者多个,如果多个取值,要用英文逗号隔开,
如果汉语的文字或者特殊符号#、$等和有空格隔开的英文,要用英文状态下的引号引起来;
尽量使用系统默认字体,保证在任何用户的浏览器中都能正确显示。
font-weight:字体粗细(强制记忆)
normal:正常字体;400
bold:加粗;700
100-900:400表示正常的,700表示加粗
font-weight:700;(这个数字后面不加单位)
我们更喜欢用数字来表示加粗和不加粗;
font-style:字体风格(强制记忆)
normal:正常字体;
italic:字体倾斜;
我们平常很少显示斜体,把倾斜的字体改成正常的样式;
实际开发中会用em或者i标签装小文字默认是倾斜的,我们用不倾斜来反而让文字扶正;
综合写法:font:font-style font-weight font-size/line-height font-family;
一定要按照上面的顺序,字体大小和字体不能省略
其中不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则font属性将不起作用。
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/73b65863a57b47a0a79e2601ea36d173/clipboard.png
color:(强制记忆)
取值方式:
表示预定义的颜色值:
十六进制:#rrggbb
rgb代码:rgb(255,46,32)
我们实际工作中, 用 16进制的写法是最多的,而且我们更喜欢简写方式比如 #f00 代表红色
2.2 text-align:文本水平对齐方式
text-align:文本对齐方式:
left ,right,center
text-align:center:不仅文本居中,还可以让行内元素和行内块元素居中
center:是让盒子里面的文字内容水平居中, 而不是让盒子居中对齐
line-height:行间距
line-height属性用于设置行间距,就是行与行之间的距离,即字符的垂直间距,一般称为行高。
line-height常用的属性值单位有三种,分别为像素px,相对值em和百分比%,实际工作中使用最多的是像素px
行高一般情况下比字号大7-8像素
line-height:24px;
text-indent:首行缩进:(强制记忆)
建议使用em为单位,表示字符宽度的倍数
1em表示字的大小
text-decoration:文本修饰:(强制记忆)
none:没有线;----一般用于取消超链接默认的下划线
underline:有下划线;
overline:定义文本上的一条线(不常用)
line-through:穿越文本的一条线;(不常用)
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/80c2fec0d6ae4900b972fe007bad33e0/clipboard.png
第一天总结:ement语法:
1生成标签直接输入标签名,按下tab键就可以了
2如果想要生成多个一样的标签。标签名*数量,比如div*4,可以生成4个div标签
3、父子级关系的。比如ul和li标签ul>li
4、如果是兄弟关系的,按+,比如div+p;
5、带有类名或者id的,类名直接写.demo id的直接写#demo
6.如果生成div有顺序的,可以用自增符合$ .demo$*3
css学习:
复合选择器:
后代选择器(包含选择器):有父子级包含关系;
html布局有嵌套关系,
父级 +空格+子级元素{css键值对}
一个空格表示后代关系;
.class h3{color:red;font-size:16px;}
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/6cf17998580c4c1a8bfa7a07b538d6c9/clipboard.png
- 当标签发生嵌套时,内层标签就成为外层标签的后代。
- 子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签。
后代选择器开发中常用的
子元素选择器(这里的子只选择亲儿子,不选择孙子重孙之类的)元素选择器:
一个>表示选择儿子
实际开发中用的比较多
.class>h3{color:red;font-size:14px;}
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/87ee5c32439d4b21b15498923e5d0e41/clipboard.png
交集选择器:(了解)
交集选择器有两个选择器构成,找到标签满足,既有标签1的特点,还有标签2的特点(既是又是的关系)
直接在标签选择器后面紧着书写类选择器或者id选择器即可
【用的比较少,不建议使用】
p.red{color:red;} p和.red没有空格
并级选择器:(重点)
,如果定义相同的样式一致的盒子,利用并集选择器,把样式盒子的写一个样式,用英文逗号隔开,简化代码;
一个逗号表示并集关系
链接伪类选择器:(重点)
作用:用于某些元素添加特殊效果;
a: link 未访问的链接状态;
a: visited 已访问的链接;
a: hover 鼠标滑过的样式;
a: active 选定的链接(我们点击的时候,按下鼠标别松开的时候)
注意:写的时候,顺序不要颠倒
记忆方法lovehate
因为a选择器浏览器会有默认的样式,我们在实际工作中需要单独指定样式;实际开发中,很少会写四个状态。用的hover最多的,只需要先设置一个总体a的样式表示所有的状态,然后单独设置鼠标经过a:hover的样式
.nav a{text-decoration:none;font:14px '微软雅黑'}
.nav a:hover{color:red;}
第一行代码表示将所有的伪类状态设置一致
第二行代码表示鼠标经过;
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/da9b947f90fc4ae3997240b1750420d2/clipboard.png
盒子的实体化三属性:
width(宽度),height(高度) ,background(背景)
,实际开发中只要把三属性设置好就不会出现兼容性问题;
标签显示模式:(重点)
有的需要占一行,有的需要一行放多个
标签显示类型一般分为:
块级标签(块元素):自己独占一行,
行内标签(行内元素):一行共存多个;
行内块元素:
块级元素:h1-h6、p、ul(ol)、li、dl、dt、dd、div等。
特点:
1、比较霸道,自己独占一行;
2、宽度和高度,外边距,内边距都可以调整
3、如果不设置宽度宽度默认的和浏览器(父级盒子)一样宽
4、是一个容器盒子,里面可以放行内或者块级元素;
5一般用来做布局的标签(h1-h6/div/ul/li/dl/dt/dd),p、h、dt段落和标题类这几个标签不能放div标签
注意:只有文字才能组成段落,因此p里面不能包含div标签,段落里面不要放块级元素;h1-h6.还有dt里面他们都属于文字之类的块级元素尽量不要放块级
元素;
行内元素:(a、span、em、i、b、strong、ins、del、s、u)
特点:
1、相邻行内元素在一行上,一行可以显示多个
2、设置宽度和高度是无效的
3、默认宽度就是他本身内容的宽度(内容撑开的);
4、一般行内元素只能容纳文本或者其他行内元素。不能放块级元素,超链接a特殊处理后可以放其他元素
行内块元素(img、input、td、)
特点:
1、和相邻的元素(行内块)在一行上,但是之间会有空白缝隙,一行可以显示多个
2、默认宽度就是他本身宽度(他本身内容撑开的)。
3、宽度、高度、外边距和内边距都可以设置
三种显示模式转换:通过设置display的属性的不同取值相互转换
块转行内:display:inline;
行内转块:display:block;
转换为行内块:display:inline-block(不管是块元素还是行内元素都可以转换为行内块)
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/44b168c9fbbb4db48f0398e5d1a53f6b/clipboard.png
一般导航布局:
一个大的div表示整体盒子。里面是ul嵌套多个li,li里面嵌套a标签
我们需要将li在一行显示(float、或者display:inline-block)然后用display:block将里面a转换为块级元素,
line-height
行高的测量方法:(如果不设置的话,默认的行高是16px;)
单行文本垂直 居中:行高可以是我们单行文本居中,文字高度等于盒子的高度度就可以
行高=盒子高度:文本垂直居中
行高>盒子的高度:文字偏下
行高<盒子的高度:文字偏上
背景
背景颜色和图片:
背景颜色:background-color:颜色值;transparent(透明)
背景图片(是在盒子底部):background-image:none;url()
注意:提倡url图片地址不加引号
背景平铺:background-repeat
no-repeat:不平铺;
repeat:平铺;
repeat-x:沿水平平铺;
repeat-y:沿垂直方向平铺;
背景的方位词:方位名词或者精确数字
background-position:x坐标(水平方向) y坐标(垂直方向)
取值:可以是纯数字,也可以是方位名词(top、right、left、bottom)
注意:如果使用方位名字只写一个:另外一个值就默认居中,建议两个都写
position的值是精确的时候:
1如果position后面跟的是精确值,第一个是x值,第二个是y值;
2如果之给定一个值,那这个值一定是x值;y轴默认center;
3、建议书写的时候x和y都书写
4、如果指定的值是精确单位和方位名字混合使用的,第一个肯定是x值,第二个肯定是y
background-position:center,top;实际开发中经常这样写,超大背景的图片我们这样子去写
一般情况下我们用哪个大背景为了匹配不同分辨率的屏幕,所以图片越大越好,但是我们背景插入图片之后需要将图片的位置进行位置调节,让图片中间位置显示出来,可以使用position:center 0;
背景定位:background-attachment :fixed背景图像固定
背景的间写:
background:背景颜色,背景图片,背景平铺,背景滚动,背景位置;
没有固定的顺序(按照以上顺序是前端开发中约定俗称的东西)
背景透明:(重点)
css3背景图片透明:
背景图片半透明:background:rgba(0,0,0,0.3)
a表示透明度,小数点前面的0可以不写(a的取值是0-1之间 0表示全部透明,1表示不透明)
注意:设置了背景透明不会影响盒子内容的透明度;
rgb颜色取值最小为0.最大为255.如果全是0,颜色为黑色,,全是255,颜色为白色;
css三大特性:层叠性,继承性,优先级
css的层叠性:多种css样式的叠加,
是浏览器处理冲突的一个能力,后写的css样式会把先写的样式覆盖掉,样式冲突的话就不会层叠;(采取就近原则);
继承性:子标签会继承父级某些样式,如文本颜色和字号;
注意:恰当使用继承可以简化代码,减低css样式的复杂性
子元素可以继承父元素样式(text-,font- line-还有color是可以继承的)。一般文本控制属性都会被继承,如果里面包含a标签,a标签里面的color需要单独设置(a是独特的显示,不会继承父级的color,需要单独设置)
能被继承的:font-size、color、font-weight、font-style、
text-indent、line-hight、text-align、text-decoration、font-family
css优先级(重点)
1、如果选择器相同,就执行层叠性(就近原则)
2、如果选择器不同,就会出现优先级的问题
权重的计算公式:
标签选择器
C:/Users/lxx291/AppData/Local/YNote/data/l18357036975@163.com/c7e645e6ebbc4746b398aca606d8f239/clipboard.png
第一等:代表行内样式,如style=“”,权重1,0,0,0;
第二等:代表id选择器。如#content ,权重0,1,0,0;
第三等:代表 calss | 伪类 | 属性 选择器,如 .class | :hover,:link,:target | [type], 权值 0,0,1,0;
第四等:代表类型选择器和伪元素选择器标签,标签选择器,比如div p 权重0,0,0,1(标签选择器的权重为0,0,0,1)
最大的,!important,代表无穷大;
继承或者*权重为0,0,0,0( 此外,通用选择器(*),子选择器(>), 相邻同胞选择器(+)等选择器不在4等级之内,所以它们的权值都为 0,0,0,0;)
低等级的选择器,个数再多也不会越等级超过高等级的选择器的优先级的;
权重没有进位:
这个不难,但是忽略很容易绕晕。其实,我们修改样式,一定要看该标签有没有被选中。越精准有效级越高 还是定位精准性问题
1) 如果选中了,那么以上面的公式来计权重。谁大听谁的。 2) 如果没有选中,那么权重是0,因为继承的权重为0.
总结,这个比较规则就是三点
1.先从高等级进行比较,高等级相同时,再比较低等级的,以此类推;
2.完全相同的话,就采用 后者优先原则(也就是样式覆盖);
3.css属性后面加 !important 时,无条件绝对优先(比内联样式还要优先);
盒子模型:盒子是网页布局的关键点;
盒子模型有四个组成:内容(content)、边框(border)、内边距(padding)、外边距(margin)
边框的写法(强制记忆)
border:border-width border-style border-color;
常见的border-style:none dotted(点线) solid(实线) dashed(虚线)(强制记忆)
border属性分布写法(了解)
边框粗细:border-width;
边框线条样式:border-style;
边框的颜色:border-color;
单独设置不同方向的边宽:(重点)
方位名词:left/right/top/bottom
border-top:2px solid red;
border-left:1px solid pink;
border-bottom:2px dotted blue;
border-right:1px solid green;
如果input默认有边框的,也可以设置边框
用户名:<input type="text" />
需要想把边框去掉,然后在单独设置边框样式,下面是代码:
border {
border:none;
border-bottom:1px solid red
}
|
|