(1)大量的重复代码,维护困难
(2)特殊效果无法实现,如:鼠标的移入等
你号!
第二种:内嵌样式
通过style元素实现,
你好
假如有多个p元素,使用这种方式可以同时生效
缺点:
(1)无法跨文档重复使用
第三种:外联样式(推荐)
这种方式通过来实现,具体方式是,将第二种方式里面的style内容提取出来,单独存放在一个css文件里,然后在文档中引入就可以了,这种方式引入的css样式,是可以跨文档生效的
外联样式详解
- rel=“stylesheet”:当前文档与资源之间的关系,合法的link元素必须要有rel属性;
也可以设置,这代表一个超链接:
也可以设置,这代表一个外联资源
多个rel关键字空格隔开
-
href=“style.css”:引用资源的地址,合法的link元素必须要有href属性,必须是合法的URL地址;
-
type=“text/css”:资源的MIME类型,可以不设置;
-
media=“all”:描述资源生效时的媒体信息;
练习
响应式的插入css样式表:
解释:
定义了两个css文件,第一个文件是默认生效的,第二个当页面宽度小于1600px时生效,针对两个
练习2:
当点击“页面打印”的时候时,希望显示为打印的页面效果
脚本
先简单说一下脚本,也就是js,其最主要的功能就是实现一些页面上交互效果,以及页面上数据交互
大致插入的方式有三种:
第一种:行内脚本
最常见的是方式是使用事件的方式触发
-
事件触发,例如:<input type=“button” οnclick=“window.alert(“hello word!”)”>;
-
javascript伪协议,例如:hello
第二种:内嵌脚本
这种主要通过script方式内嵌,例如
内嵌的使用一定要注意闭合标签:
');/* 这种写法是错误的,因为这一行包含了一个标签,浏览器会默认认为这是一个闭合标签,正确写法
-
应该是document.write(‘
*/
第三种:外联脚本
export function test(){
}
export function greet(){
}
我们把type类型为javascript的称为classic scripts,把type类型为module成为module scripts
脚本类型(通常不写) 跨域文本处理 执行脚本方式
脚本引用地址 编码方式(可以不写)
脚本类型 跨域文本处理 执行脚本方式
脚本引用地址
async/defer执行方式
这两个属性都是布尔属性,要么true,要么false,
-
async:立即执行
-
defer:HTML文件解析完才可以执行
假如同时存在,优先async规则
课后练习
使用JS的方式,实现响应式
提示:window.onresize,window.clientWidth,element.className
方法一:
解释:
通过window.onresize方法实时判断窗口是否有改变,然后通过document.body.clientWidth方法获得窗口的宽度,根据不同的宽度调整样式;
但是这里遇到几个问题: