块级元素 :独占一行,对宽高的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽;
行内元素 :可以多个标签存在一行,对宽高属性值不生效,完全靠内容撑开宽高!
其中还有一种结合两种模式有点的显示模式:
行内块元素 :结合的行内和块级的有点,不仅可以对宽高属性值生效,还可以多个标签存在一行显示;
特点:可以多个标签存在一行,不能直接设置行内标签的高度、宽度、行高以及顶和底边距,完全靠内容撑开宽高!
a 标签:主要用来链接一个其他的网页;
span 标签:主要用来对行内的文字进行一些样式以及其他的操作;
em 标签:一般用来对文字进行强调,使用斜体体现出来;
strong 标签:一般用来对文字进行强调,使用加粗字体体现出来;
img 标签:图片引用标签,其中 src属性中写入图片的地址;
var 标签:JavaScript中命名变量的标签。
特点:独占一行,对高度、宽度、行高以及顶和底边距都可设置的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽;
p 标签:段落标签,段落文字使用,默认格式:段尾进行换行;
div 标签:划分块的主要使用标签;
ul 标签:无序列表的主标签,后面的标号为圆点(黑色);
ol 标签:有序列表的主标签,后面一般跟有序的1,2,3,4,5...;
li 标签:列表中的主体使用标签
dl 标签:自定义标签的主标签;
dt 标签:自定义标签的表头;
dd 标签:自定义标签的表头的解释(描述)信息;
h1~h6 :6级标题标签、字体的大小依次变小。
特点:结合的行内和块级的有点,不仅可以对宽高属性值生效,还可以多个标签存在一行显示;
+++++++++++++++++++++++++++++++++++++++++
各种标签之间的转换
1、块级标签转换为行内标签: display:inline
2、行内标签转换为块级标签: display:block
3、转换为行内块标签: display:inline-block
在这之前有说过 text-align这个属性是否生效,原因是块级标签如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽,那么在100%的宽度中居中生效;但是行内元素的宽完全是靠内容撑开,所以宽度就是内容撑开的宽
基本上就是这个属性之间的转换!
1、call和apply
二者都可以改变当前的this,区别在于apply方法要将参数放入数组中再传参
2、函数的继承
function Fclass(name, age){
this.name = name
this.age = age
}
Fclass.prototype.showName = function(){
alert(this.name)
}
Fclass.prototype.showAge = function(){
alert(this.age)
}
3、子类
function Sclass(name, age, job){
// 调用父类的call方法并传入子类的this,可实现属性的继承
Fclass.call(this,name,age)
this.job = job
}
// 方法继承:将父类的一个实例赋值给子类的继承
Sclass.prototype = new Fclass()
Sclass.prototype.showJob = function(){
alert(this.job)
}
var Driver = new Sclass('tom',18,'老司机')
Driver.showName()
Driver.showAge()
Driver.showJob()
4、新增选择器
document.querySlector() 选择一个
document.querySlectorAll() 选择一类
jQuery加载:
将获取元素的语句写到页面头部,会因为元素还没有加载而出错,jquery有ready方法解决
//JS写法
window.onload = function(){
var div = document.getElementById('div')
alert(div.innerHTML)
}
//JQ写法
$(document).ready(function() {
var $div = $('#div')
alert('jquery:' + $div.html())
})
//简写
$(function(){
var $div = $('#div')
alert('jquery:' + $div.html())
})
5、jQuery选择器:
$(document) //选择整个文档对象
$('li') //选择所有的li元素
$('#myId') //选择id为myId的网页元素
$('.myClass') // 选择class为myClass的元素
$('input[name=first]') // 选择name属性等于first的input元素
$('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素
对选择集进行修饰过滤(类似CSS伪类)
$('#ul1 li:first') //选择id为ul1元素下的第一个li
$('#ul1 li:odd') //选择id为ul1元素下的li的奇数行
$('#ul1 li:eq(2)') //选择id为ul1元素下的第3个li
$('#ul1 li:gt(2)') // 选择id为ul1元素下的前三个之后的li
$('#myForm :input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素
对选择集进行函数过滤
$('div').has('p')// 选择包含p元素的div元素
$('div').not('.myClass')//选择class不等于myClass的div元素
$('div').filter('.myClass')//选择class等于myClass的div元素
$('div').first()//选择第1个div元素
$('div').eq(5)//选择第6个div元素
6、选择集转移
$('div').prev('p')//选择div元素前面的第一个p元素
$('div').prevAll('p')//选择div元素前面所有的p元素
$('div').next('p')//选择div元素后面的第一个p元素
$('div').nextAll('p')//选择div元素后面所有的p元素
$('div').closest('form')//选择离div最近的那个form父元素
$('div').parent()//选择div的父元素
$('div').children()//选择div的所有子元素
$('div').siblings()//选择div的同级元素
$('div').find('.myClass')//选择div内的class等于myClass的元素
jQuery样式操作:
//读取样式
alert($('.div1').css('fontSize'))
//设置样式
$('.div1').css({background:'gold'})
//增加行间样式
$('.div1').addClass('big')
//减少行间样式,多个样式用空格分开
$('.div1').removeClass('div1')
7、click事件
$('#btn').click(function(){
$('.box').toggleClass('sty') //切换样式
})
jQuery索引值:
$('.list li').click(function(){
// alert(this.innerHTML)
// alert($(this).html())
alert($(this).index())
})
jQuery属性操作:
html()
// 取出html内容
var $htm = $('#div1').html()
// 设置html内容
$('#div1').html('<span>添加文字</span>')
text()
// 取出文本内容
var $htm = $('#div1').text()
// 设置文本内容
$('#div1').text('<span>添加文字</span>')
attr():
// 取出图片的地址
var $src = $('#img1').attr('src')
// 设置图片的地址和alt属性
$('#img1').attr({ src: "test.jpg", alt: "Test Image" })
jQuery特殊效果:
fadeIn() 淡入
fadeOut() 淡出
fadeToggle() 切换淡入淡出
hide() 隐藏元素
show() 显示元素
toggle() 依次展示或隐藏某个元素
slideDown() 向下展开
slideUp() 向上卷起
slideToggle() 依次展开或卷起某个元素
jQuery链式调用
$('#div1') // id为div1的元素
.children('ul') //该元素下面的ul子元素
.slideDown('fast') //高度从零变到实际高度来显示ul元素
.parent() //跳到ul的父元素,也就是id为div1的元素
.siblings() //跳到div1元素平级的所有兄弟元素
.children('ul') //这些兄弟元素中的ul子元素
.slideUp('fast') //高度实际高度变换到零来隐藏ul元素