前端三剑客HTML+CSS+JavaScript

HTML(超文本标记语言)负责网页的结构
CSS(层叠样式表)负责网页的样式(比如颜色/字体/边框等属性设置)
JavaScript(脚本语言)负责网页的行为(点击/输入输出/滚动等等)



HTML部分:

html文档结构:整个html文档一般都包括header/body两部分: header头部标签主要包含html的描述性内容:
title标签是网页在浏览器标签栏上显示的标题
meta标签是网页的原信息
link标签用来链接其他内容,引用外部css样式,就是通过link标签
script标签是调用js脚本

body标签中就是在网页上展示的内容:
标题标签: h1~h6 标题大小逐次减小 (标题标签是为了突出层级关系,所以为了不要只是为了调节文本大小而使用标题标签)
段落标签: p
文本修饰标签:加粗<b> 斜体<i> 下划线<u> 删除线<s> 上标<sup> 下标<sub> 强调斜体<em> 强烈强调<strong>
列表标签:
ol有序列表:type属性 表示标签标记类型 A大写字母 a小写字母 1数字 I大写罗马数字 i小写罗马数字
ul无序列表:type属性 disc实心圆 circle环形 square实心矩形 none不显示标记
<li>是列表元素
超链接标签a:
target属性:默认为_block,在新窗口打开链接;_self是在当前窗口打开链接
href属性:指向的目标可以为文件,则链接动作为下载文件;指向目标是链接,跳转链接;可以指定当前页面中的元素id(#id),跳转到指定元素的位置;如果不写,默认跳转到当前的页面;也可以指向一个js脚本;如果希望点击这个按钮不触发任何动作可以用"javascript:;"的js代码来阻止标签动作;
盒子标签div 图片标签img
其他标签:br 换行 hr分割线 特殊符号 比如空格&nbsp;

表格标签table

表单标签form:
action属性:定义表单提交时发送到服务器的地址
method属性:定义提交方式,get明文提交显示在地址栏中(大小限制为2KB),post密文提交,不显示在地址栏中
enctype属性:限制表单提交的数据类型只允许普通字符,允许普通字符/特殊字符,允许文件被上传;如果上传文件method必须为post;

表单控件:
textarea文本域:允许用户输入多行文本;cols属性设置列数,rows属性设行数;
select选择菜单:当size为1显示为下拉选择框,当size大于1显示为选择框;
input控件:
type:
text属性:明文文本;
password属性:密文文本;
radio属性:单选框 checkbox复选框;
file属性:文件上传
submit属性:提交表单的按钮
button普通按钮

value:提交给服务器的数据;
name:控件名;
disabled:不可用属性;
lable关联表单元素:点击该文本如同点击关联元素一样;

标签分类:块级元素/行内元素/行内块元素
块级元素:可以设置宽高,不设置默认为父级元素的100%大小,独占一行,(后面的元素同样换行)主要有div p h1~h6 table form ol ul li等
行内元素:在一行内显示,不能设置宽高,主要有span a 标签
行内块元素:也属于行内元素,可以设置宽高 img input;



css部分:
css的引入方式:
内嵌式:直接在标签内写 <p style: "color:red;">
内联式:在header内写 <style type: ‘text/css‘> .box{font-size:14px;}</style>
外联式:链接外部css <link rel= ‘stylesheet‘ type= ‘text/css‘ href= ‘./css/index.css‘>
导入式: @import url(‘./css/index.css‘)

选择器:
基本选择器:
* 通配符选择器 选择所有标签元素(不建议使用)
#box id选择器 选择指定id的标签元素
div 标签选择器 选择指定标签的标签元素
.active 类选择器 选择指定类的标签元素

高级选择器(组合选择器):
子代选择器: ul>li 只选择儿子元素
后代选择器: div a 选择父代元素之后的所有后代
相邻选择器: li+a 选择紧贴li的下一个a
弟弟选择器: li~a 选择li之后的所有兄弟元素a
分组选择器: li,p 选择多个元素类型
选择器权重问题:
内联(1000)>id(100)>类(10)>标签(1)
属性选择器:
选择有相同属性的元素
伪类选择器:
a:link a在未访问的样式
伪元素选择器:
E:before

font相关:
font-style字体风格:
正常字体:normal 斜体:italic 倾斜字体:oblique
font-weight 字重:
normal bold bolder lighter 整百数(100-900)
font-size 字体大小:
font-family 字体集:
指定文本使用一系列的字体,优先级由高到低

color相关:
颜色表示的四种方式:
颜色名: red green yellow lightgray
十六进制:#ccc #rr #5c5c5c #f80
rgb: rgb(255,254,253)
rgba: rgb(255,254,253,0.5)

text相关:
text-align文本对齐:
left左对齐
right右对齐
center中间对齐
justify 两端对齐(只适用于英文)
text-indent文本缩进:
建议用em为单位(字符单位)
text-decoration 文本修饰:
none无修饰
underline下划线
overline上划线
line-through 删除线
line-height 行高:
指定行高,设置行高等于文本盒子高度,可以使文本垂直居中

background相关:
background-image 背景图
background-position:调整背景图位置(使用精灵图)
background-repeat:平铺设置
repeat 横纵平铺
repeat-x 横向平铺
repeat-y 纵向平铺
no-repeat 不平铺
background-attachment:固定方式 scroll fixed
background-color:背景颜色 默认为透明 transparent

盒模型:
width height border边框 padding内边距 margin外边距

浮动相关:
float:left左浮动 right右浮动 none默认不浮动
浮动特性:
脱离标准流
都可以设置宽高
提升层级
并排显示,浮动的元素会相互贴靠
贴边现象
字围效果

浮动带来的问题:
一般父盒子不设置宽高,全靠子元素撑起来,但是使用浮动后父盒子就没有高度了
因此需要清除浮动

消除浮动带来的问题:
给父盒子设置高度:
不灵活不推荐,一般用于导航栏之类的固定高度的盒子
clear:both:
在浮动元素之后加一个空盒子,并给盒子追加clear:both属性,使其不浮动,用这个不浮动的空盒子填充父盒子.结构冗余

伪元素清除法:
给父级元素添加clearfix类
在给父元素设置样式:
.clearfix:after{
content:‘‘;
clear:both;
display:block;
}
overflow:hidden
给父盒子设置overflow:hidden属性

定位相关:
分为:不定位static/相对定位relative/绝对定位absolute/固定定位fixed
相对定位relative:
相对于自己原来位置的定位:
特点:不脱离标准流/形影分离/占据原位置
用途:微调元素

绝对定位absolute:
脱离标准流 ,提高层级, 不区分块和行内
如果没有父盒子相对定位,以页面左上角为基准;如果父元素有相对定位,则以父盒子为基准定位

固定定位fixed:
以页面为基准固定定位

z-index属性:
给元素设置优先级
特点:同级后来居上,有定位的元素z-index才能生效,从父现象(父盒子优先)



javascript部分:
引入方式:
内接式/外接式
ECMA5基础语法:
数据类型:
数字 字符串 布尔值 null空对象 undefined未定义变量
引用数据类型:
function函数 object对象 array数组

流程控制:
if if-else if-else if-else 逻辑与&& 逻辑或|| switch-case while do-while for

内置对象:
数组array: concat合并分组 join插入分隔字符 pop弹出最后一个元素 shift移除第一个元素 unshift插入一个元素到数组第一个位置,返回新的长度 slice切片 push压入最后一元素 sort排序 reverse反转 length返回数组长度

DOM:
文档对象模型
获取文档对象的三种方式:
document.getElementById() 根据id获取文档对象
document.getElementByClassName() 根据类名获取文档对象
document.getElementByTagName() 根据标签名获取文档对象

事件三要素:
事件源 事件 事件驱动

js的事件:
onclick单击 ondblclick双击 onkeyup/onkeydown 键盘弹起/按下 onchange 文本/菜单发生改变时 onfocus获得焦点 onblur失去焦点 onmouseover 鼠标悬浮 onmouseout鼠标移除 onload 网页文档加载 onunload关闭网页时 onsubmit提交表单时 onreset重置表单时
js入口函数:
window.onload() 在网页加载完成后(包括图片和文档) 触发onload() 函数

js和html文档是同时加载的,设置onload不会报错

问题 图片资源加载失败,js就不会生效

样式的操作 : Object.style.marginLeft = ‘30px‘;

值的操作: innerText 文本内容 innerHTML 文档内容 value (表单控件)

属性操作:
getAttribute()获取属性 removeAttribute()移除属性
setAttribute()/Object.attr = ‘‘ 设置属性

DOM对象的创建/增加/删除
document.createElement() 创建
Object.appendChild() 加子节点
Object.insertChild(要插入的节点,参考节点) 把要插入的节点插入到参考节点之前
Object.removeChild() 删除子节点
object.parentNode.removeChild(Object) 删除自己

client/offset偏移量(与父相子绝有关)/scroll

定时器:
setTimeOut(func,200) 一次性定时器,在延时后执行func
setInterval(func,200) 循环定时器,周期执行func



jQuery部分
jQuery是js的一个库

入口程序:$(document).ready(function(){}) 简写$(function(){})
与js的入口程序的区别
js是整个文档资源(包括图片)加载完成之后才执行 而jQuery的入口程序是在DOM结构绘制完成就执行

js对象与jQuery对象相互转化:
jQuery对象 = $(js对象)
jQuery对象[0] = js对象

jQuery选择器:
基本选择器: id 类 标签

层级(组合)选择器: 后代(空格) 子代(>)

基本过滤选择器:
:eq 获取指定索引对象
:odd 获取奇数索引对象
:even 获取偶数索引对象
:gt(3)/lt(3) 获取索引大于/(小于) 3的对象
:first/last

属性选择器:
含有指定属性/指定属性为指定值/正则匹配

筛选选择器:
find:后代选择 所有后代
children:子代选择
siblings:兄弟选择(不包括自己,用于互斥按钮)
parent:父级选择
eq:索引选择

动画效果:
显示隐藏:
show显示/hide隐藏 开关式显示隐藏toggle

淡入淡出:
fadeIn/fadeOut fadeToggle

卷帘效果:
slideUp/slideDown slideToggle

停止动画:
stop

自定义动画:
animate({最终样式},速度,回调函数)

值的操作:
html:操作html文档 获取/设置
text:操作文本内容 获取/设置
val:针对有value属性的对象,比如input

属性操作:
attr(key)获取属性
attr(key,value) 设置单个属性
attr({key:value,key:value}) 设置多个属性
removeAttr()删除属性

prop()操作元素集的第一个dom对象的属性
removeProp

addClass removeClass toggleClass

DOM操作:
父子之间:
插入到父级元素最后 父.append(子) 子.appendTo(父)
插入到父级元素第一位 父.prepend(子) ...
兄弟之间:
插入到目标兄弟元素之后 目标对象.after(待插入对象) 待插入对象.insertAfter(目标对象)
之前 before insertBefore

删除操作:
remove detach(删除节点事件保留) empty(置空,删除所有子元素)

位置信息:
width height innerHeight innerWidth(内部宽高) outerHeight outerWidth(外部宽高) scrollTop scrollLeft(元素相对于滚动条卷起的宽高) position (元素相对于父级元素的偏移量) offset(元素相对于当前视口的偏移量)

jquery事件:
三个阶段 :事件捕获 处于目标阶段 事件冒泡阶段
冒泡导致逻辑不正确,阻止冒泡的两种方法:
E.stopPropagation()阻止冒泡 E.preventDefault() 阻止默认行为

鼠标事件:
单击 click 双击 dbclick mousedown mouseup mousemove mouseover/out进入离开目标元素和目标的子元素时触发 mouseenter/leave focus/blur keydown/up

表单事件:
change 表单元素发生变化时 select 文本元素发生变化 submit表单元素发生变化

ajax技术:
异步JavaScript和XML
在不刷新整个网页的情况下,刷新页面局部内容

原文地址:https://www.cnblogs.com/wilbur0402/p/10079532.html

时间: 2024-08-03 12:03:19

前端三剑客HTML+CSS+JavaScript的相关文章

WEB前端:HTML+CSS+JavaScript

一. HTML介绍:---------------------------------------1. 什么是HTML?   超文本标记语言,  <标签名>--标记(标签.节点)  2. HTML是由:标签和内容构成 3. 程序语言有两种:解释性语言(HTML.PHP.Javascript)和编译型语言(C.C++.Java 4. HTML的标签组成部分.属性.实体 HTML的实体: <:<  >:>  空格:  5. HTML中注释: <!-- .... --&

Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)

Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Windows.Linux 以及 OS X 平台. Brackets 的特点是简约.优雅.快捷!它没有很多的视图或者面板,也没太多花哨的功能,它的核心目标是减少在开发过程中那些效率低下的重复性工作,例如浏览器刷新,修改元素的样式,搜索功能等等.和 Sublime Text.Everedit 等通用代码编辑器

【前端优化之拆分CSS】前端三剑客的分分合合

几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试</div> 慢慢的,我们发现这样做的很多弊端,单就样式一块,改一个样式会涉及到多处调整,所以慢慢的dom标签中的css全部去了一个独立的css文件 再后来,交互变得异常复杂,onclick也不好使了,所以js也分离开了,经典的html+css+javascript结构分离逐步清晰,三种代码各司其职

前端三剑客之javascript

前端三剑客之javascript 给个小目录  一.JavaScript介绍  二.ECMAScript(核心) 三.BOM对象(浏览器对象) 四.DOM对象(文档对象模型) 总结: JS的组成: a)   ECMAScript 是什么:担当的是一个翻译的角色:是一个解释器:帮助计算机来读懂我们写的程序:实现+-*/, 定义变量:几乎没有兼容性问题: b)   DOM: 文档对象模型:文档指的就是网页:把网页变成一个JS可以操作的对象:给了JS可以操作页面元素的能力:document;有一些兼容

前端三剑客 页面模板 HTML标签

前端 什么是前端 前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页.前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript. 前端开发技术栈 HTML 超文本标记语言 负责完成页面的结构 文件后缀:.html .htm "超文本"指的是页面内可以包含图片.链接.程序等非文字元素 CSS 级联样式表 负责页面的风格设计,样式.美观 文件后缀:.css JavaScr

网页性能之HTML,CSS,JavaScript

转载自AlloyTeam:http://www.alloyteam.com/2015/05/wang-ye-xing-neng-zhi-html-css-javascript/ 前言 html css javascript可以算是前端必须掌握的东西了,但是我们的浏览器是怎样解析这些东西的呢 我们如何处理html css javascript这些东西来让我们的网页更加合理,在我这里做了一些实验,总结起来给大家看看. 最简单的页面 1 2 3 4 5 6 7 8 9 <!DOCTYPE html>

作为一个前端工程师,CSS是最基本的入门课,你都能做出来吗?

CSS在很多程序员看来那只不过是雕虫小技, 实际上CSS3发展到今天已经强大到超乎你的想象, 当然对于低端浏览器使用者来说,还是以前那样——囧 有时候搞CSS开发确实需要很多想象力,下面一组纯CSS3特效足以描述这一点 以下内容转载自[http://design.yesky.com/show/466/11497966_3.shtml] 设计欣赏:纯CSS3「绘制」的图形图标 IE 标志 作者: Andreas Jacob 在 Firefox 3.6+ 以及Safari 5 上显示最佳.使用了圆角

web前端之MVC的JavaScript Web富应用开发一:MVC和类

web前端之MVC的JavaScript Web富应用开发一:MVC和类 开篇: 本书以 assert() 和 assertEqual() 函数来展示变量的值或者函数调用的结果. assert() 是一种快捷表述方式, 用来表示一个特定的变量( revolves to true). 这在自动化测试中是一种非常常见的模式. assert() 可以接收两个参数 : 一个值和一个可选的消息. 如果运行结果不是真值, 这个函数将抛出一个异常 : var assert = function(value,

聊聊html+css+javascript的学习顺序

最近在知乎看到一篇文章,内容颇具感染力,助力了我经营TwentyHeart的想法,手动补上文章地址https://zhuanlan.zhihu.com/p/23893278 时不我待,如果有想法有信念想入前端大坑的朋友,just do it! 说下小编入坑八个月的感悟想法与学习顺序吧: 身为一个前端,必须会核心技能是HTML+CSS+Javascript,如果把HTML比作一个裸体机器人的话,那么css就是这个机器人的皮肤,Javascript就是这个有身体,有皮肤的机器 人的动作了,用技术词来