HTML+CSS WEB前端开发总结

初识Html

HTML, 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、JavaScript一起被众多网站用于设计赏心悦目的网页、网页应用程序以及移动应用程序的用户界面。网页浏览器可以读取HTML文件,并将其渲染成可视化网页。HTML描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。


基本结构

<!DOCTYPE html> 声明文件语言类型 H5文档头
<html>  ####    包裹所有标签
   <head>  ### 头部标签 包裹网页相关信息
    #### 设置字符集 中文 gb2312 GBK(早期的)UTF-8(全世界所有语言的字符集编码)
       <meta charset="UTF-8"/> 
    <title>这是我的第一个网页</title>####  设置网页名字
   </head>
   <body>###包裹网页内容 肉眼看到的
   </body>
</html>

基本元素属性

标签 定义
h1-h6 标题标签
a 超链接标签 通过 href属性控制跳转地址 可以在新的页面打开 也可以在当前页打开
p 段落标签
b 字体加粗
u 字体下划线
s 字体删除线
i 字体斜体
<hr/> 横线
<br/> 换行
div 无意义标签
span 无意义标签
img 图片一般通过src属性给图片路径 可单独设置宽高

行内元素和块级元素

独占一行的是块级标签(元素)行内标签(元素)可以跟其他元素在同一行

列表

1.无序列表 ul+li
2.有序列表 ol+li

表格

使用table标签 包含tr标签(代表行)tr标签包含th(加粗)或者td


路径

1.绝对路径 相对于操作系统所处在的位置
2.相对路径 相对于当前文件 目标文件所在的位置 ../(返回上一级)./(当前目录)
3.网络路径


初始CSS


什么是CSS

层叠样式表(英语:Cascading Style Sheets,简写CSS),又称串样式列表、级联样式表、串接样式表、阶层式样式表,一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言,由W3C定义和维护。当前最新版本是CSS2.1,为W3C的推荐标准。CSS3现在已被大部分现代浏览器支持,而下一版的CSS4仍在开发中。


CSS引入方式

1.将CSS语句写在style标签中 style写在head标签中
2.使用link标签将CSS文件引入
3.在标签的style属性写CSS语句


语法

1>标签选择器
标签名{
    属性:值
}

2>class选择器
.类名{
    属性:值
}

3>id选择器
#类名{
    属性:值
}

4>通配符选择器
*{
    属性:值
}

选择器优先级

通配符选择器<标签选择器<class选择器<id选择器<行内样式<!important

代码注释

html注释 <!--这里写注释-->
css注释  /*这里写注释*/

解决margin塌陷

在父级加上overflow:hidden


浮动布局

float(浮动):让某个元素浮动起来 就是让元素脱离标准文档流

定位布局

相对定位position:relative会保留原先位置
绝对定位position:absolute不会保留原先位置

注:想要挪动谁,就给绝对定位。同时观察本身父级,如果父级没有定位,就给父级相对定位。否则就不管。

兼容性

条件注释法

<!--[if it IE6]>
中间的内容在IE6中可以显示,其他的都不显示。
<![endif]>

边框常用属性

border-width;
border-style;
border-color;

颜色取值

red yellow green....
Rgb/rgba rgb(255,0,0,1)最后一个是透明度
二进制 #a1b2c3

背景颜色

background : 背景图片地址 平铺方式 背景定位 xy;

字体引用

fong-family:‘引入字体命名’;
src:url();
}

常用的字体属性

font-size 大小
font-weight 权重(粗细)
font-family 字体样式

文本处理

文本超出部分隐藏并且显示三个点

    text-overflow:ellipsis;
    white-space:nowrap;
    overflow:hidden;
    line-height和text-align 实现字体水平垂直居中
    text-decoration:none;去除a链接字体下划线

伪类选择器

     link 没有单击访问时超链接样式
     visited 单机访问之后超链接样式
     hover鼠标放上去时候
     active  鼠标单击未释放

阴影

box-shadow
第一个值  在X轴上移动的距离
第二个值  在Y轴的距离
第三个值  距离物体的距离
第四个值  阴影大小 

弹性盒模型

盒子模型

div 主要用于PC端,浮动定位...

弹性和模型(flex)

主要针对移动端。容器:div。只对直系子元素有效。

开启弹性布局

display:flex;//给父级

轴概念(默认情况)

主轴 横向为主轴X
从轴 纵向为从轴Y

元素在主轴的排序方式(父级)

justify-content:flex-start;//开始位置 默认值
justify-content:flex-end;//针对主轴排到末尾
justify-content:space-around;//自适应排列 两边有缝
justify-content:space-between;//两边对齐没有缝
justify-content:flex-center;//针对主轴排到中间

设置主从轴

flex-direction:row;//默认X轴
flex-direction:column;//Y轴为主轴
flex-direction:column-reverse;//Y轴翻转
flex-direction:row-reverse;//X轴翻转

元素在从轴的排序方式(父级)

align-items:center;//居中
align-items:baseline;//基线 按照内容高度设置排列方式

元素操作(父级)

flex-wrap:wrap;//当内部子元素超出父容器 换行
flex-wrap:nowrap;//不换行
flex-wrap:nowrap-reverse;//换行反转

操作子元素(子集)

align-self:center;//针对单个元素 让他单独对于从轴居中
align-self:flex-end;//针对单个元素 让他单独对于从轴尾部
order:1;//排序,值越大越靠后 默认为0 
flex-grow:1;//控制元素拉伸比 撑满
flex-shrink:.5;//控制元素的损失比 比例越大损失越多

H5

H5新增标签

textarea标签 输入文字文本域

input type 新增标签

正常属性input type=""

正常属性可选值:

email   邮箱
parrern   写正则表达式的
url内容需要包含 http;// 或者 https://
color 取色版
search 搜索框 比text多一个X按钮
number 数值类型
range  拖动条 特定值范围的数值选择器

其他属性

parrern   写正则表达式的
autofocus 自动获取焦点
required  必须填入类容
placeholder  提示语
contenteditable  全局可编辑属性
tabindex     tab键跳转顺序
:before、:after 在某个元素前面或者后面加内容 内容写在centent属性后面,
也可以使用attr获取当前元素的某个属性值

用于媒介播放的标签

video 视频 
controls 控制
autoplay 自动播放
loop 循环播放
relod 页面加载时 进行视频加载
audio 音频

CSS高级选择器

first-child   找到其父级的第一个元素
last-child     找到其父级的最后一个元素

注意:元素本身的位置是父级的第几个元素

nth-child(n) 找到其父级元素的第N个元素

Canvas

Canvas是H5提供的绘图容器

绘制线段

var canvas = document.getElementById("canvas");
//创建2d画布
var cxt = canvas.getContext("2d");
//线 图形 圆 文字都可以画....
cxt.beginPath();//设置开始
cxt.moveTo(50,100);//起点 X Y
cxt.lineTo(150,100);//终点  X Y
cxt.strokeStyle = "#ddd";//设置描边颜色
cxt.lineWidth = "5";//设置宽度
cxt.stroke();//描边
cxt.closePath();//设置结束

绘制三角形

var canvas = document.getElementById("canvas");
//创建2d画布
var cxt = canvas.getContext("2d");
//线 图形 圆 文字都可以画....
cxt.beginPath();//设置开始
cxt.moveTo(50,50);//起点 X Y
cxt.lineTo(100,100);//中点  X Y
cxt.lineTo(200,50);//中点  X Y
cxt.lineTo(50,50);//终点  X Y
cxt.strokeStyle = "#ddd";//设置描边颜色
cxt.fillStyle = "yellow";//设置填充颜色
cxt.fill()
cxt.lineWidth = "5";//设置宽度
cxt.stroke();//描边 cxt.fill() 填充
cxt.closePath();//设置结束

或者 结束绘制之后再描边 //只需要画两根线

cxt.beginPath();//设置开始
cxt.moveTo(50,50);//起点 X Y
cxt.lineTo(100,100);//中点  X Y
cxt.lineTo(200,50);//中点  X Y
cxt.strokeStyle = "#ddd";//设置描边颜色
cxt.fillStyle = "yellow";//设置填充颜色
cxt.fill()
cxt.lineWidth = "5";//设置宽度
cxt.closePath();//设置结束
cxt.stroke();//描边 cxt.fill() 填充

绘制统计图

var cxt = canvas.getContext("2d");
//竖线和横线 X Y 轴
cxt.beginPath();
cxt.moveTo(50,50);
cxt.lineTo(50,350);
cxt.lineTo(451,350);
cxt.strokeStyle="red";
cxt.stroke();
cxt.closePath();
//Y轴刻度
for(var i=1;i<=6;i++){
    cxt.beginPath();
    cxt.moveTo(51,50*i);
    cxt.lineTo(40,50*i);
    cxt.strokeStyle="red";
    cxt.stroke();
    cxt.closePath();
}
//X轴刻度和矩形
for(var i=1;i<=7;i++){
    cxt.save()  // 保存 当前的绘制状态
    cxt.beginPath()
    // y 轴 刻度
    cxt.translate(50,349) //平移 基点(重置 绘制基点)
    cxt.moveTo(58*i,0)   
    cxt.lineTo(58*i,10)  //当前终点
    cxt.stroke()
    var offsetheight = Math.random()*160+40;
    // 矩形 
    cxt.fillStyle = "red";
    cxt.fillRect(58*(i-1)+5 ,0,50,-offsetheight)
    cxt.closePath()
    cxt.restore()  // 初始化
}

属性和方法

属性 功能
lineTo(x,y) 线段的终点
moveTo(x,y) 线段的起点
stroke() 方法 绘制、描边
strokeStyle="color"; 设置描边着色
lineWidth="px"; 设置当前描边颜色
beginPath() 方法 起始路径
closePath() 方法 闭合路径
fill() 方法 填充形状
fillStyle="color" 填充颜色
translate(x,y) 平移基点
save( ) 方法 保存状态
restore( ) 方法 撤销保存的状态
fillRect(x,y,width,height) 填充矩形
strokeRect(x,y,width,height) 描边矩形
fillText("text",x,y,maxwidth) 填充字体
strokeText("text",x,y,maxwidth) 描边字体
font="bold px 微软雅黑" 设置字体 必须有字体设置才生效
textAlign="left/right/center" 水平文本以基线对齐
textBaseline="top/bottom/center" 垂直文本以基线对齐
rotate(deg) 旋转度数 括号内不带单位
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,604评论 0 30
  • 概述 在网易云课堂学习李南江老师的《从零玩转HTML5前端+跨平台开发》时,所整理的笔记。笔记内容为根据个人需求所...
    墨荀阅读 2,324评论 0 7
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,815评论 0 0
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,183评论 0 5