练习
响应式的插入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方法获得窗口的宽度,根据不同的宽度调整样式;
但是这里遇到几个问题:
(1)onresize多次触发的问题,当改变窗口大小时,onresize被触发了多次;
(2)这个调整比较麻烦,假如元素过多时,调整很麻烦;
因此,修改一下要求,改成:还是响应式,但是根据窗口的大小,动态创建css文件引入,已达到响应的效果
想了一下,要达到css的那个media的效果,分为几步
(1)实时获得窗口宽度
(2)根据宽度修改css文件的引用,变相达到了style中自适应的效果