页面导入样式时,使用link@import有什么区别
link是HTML标签,@import是css提供的link标签映入样式时,页面加载时候同时加载,是同步堵塞加载,@import在页面加载完成是加载link除了可以引用样式还可以引入图片等资源,@import只能引入样式文件link是XHTML标签没有兼容问题,@import是在CSS2.1提出的,不兼容ie5以下- link可以通过js操作DOM动态引入,@import不可以
为什么不建议使用@import
@import兼容性问题@import加载顺序问题,css解析延迟,会加长页面留白期@import混合js文件时,在IE中引发资源文件的下载顺序被打乱,即使排列在@import后边的js文件也会优先下载link混合@import会破坏文件的并行下载,而仅仅使用link时,可确保样式在浏览器里被并行下载,并且按顺序下载
圣杯布局和双飞翼布局
作用
两边定宽,中间自适应的三栏布局
区别
- 圣杯布局为了中间的
div内容不被遮挡,将中间div设置了padding-left,padding-right,左右两边使用相对布局position:relative,并配合right和left属性 - 双飞翼布局直接在中间
div中新建子div放置内容,通过margin-left,margin-right为左右栏留出位置
圣杯布局
1 | <html lang="en"> |
双飞翼布局
1 | <html lang="en"> |
flex布局
1 | <html lang="en"> |
数组长度为5且元素的随机数在2-32间不重复的值
a) 生成一个长度为5的空数组arr。
b) 生成一个(2-32)之间的随机整数rand。
c) 把随机数rand插入到数组arr内,如果数组arr内已存在与rand相同的数字,则重新生成随机数rand并插入到arr内[需要使用递归实现,不能使用for/while等循环]
d) 最终输出一个长度为5,且内容不重复的数组arr。
1 | // 长度为5的空数组 |