前端css阶段面试题

本文概述了HTML5的拖放API、自定义属性、语义标签、多媒体处理、Canvas绘画及地理定位,以及CSS3的扩展颜色、文本阴影、边框样式、弹性布局等关键特性。同时,对比了localStorage、sessionStorage和cookie的区别,以及CSS盒模型的深入解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML5,CSS3

一.H5的新特性有哪些?C3的新特性有哪些?
H5 新特性
1、拖拽释放(Drap and drop) API ondrop
拖放是一种常见的特性,即抓取对象以后拖到另一个位置
在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放
2、自定义属性 data-id
3、语义化更好的内容标签(header,nav,footer ,aside, article, section)
4、音频 ,视频(audio, video) 如果浏览器不支持自动播放怎么办?在属性中添加 autoplay
5、画布 Canvas
5.1)getContext() 方法返回一个用于在画布上绘图的环境
Canvas.getContext(contextID) 参数 contextID 指定了您想要在画布上绘制的类型。当前
唯一的合法值是 “2d”,它指定了二维绘图,并且导致这个方法返回一个环境对象,该
对象导出一个二维绘图 API
5.2)cxt.stroke() 如果没有这一步 线条是不会显示在画布上的
5.3)canvas 和 image 在处理图片的时候有什么区别?
image 是通过对象的形式描述图片的,canvas 通过专门的 API 将图片绘制在画布上.
6、 地理(Geolocation) API
7、 本地离线存储 localStorage 长期存储数据 浏览器关闭后数据不丢失
8、 sessionStorage 的数据在浏览器关闭后自动删除
9、 表单控件 calendar , date , time , email , url , search , tel , file , number
10、新的技术 webworker, websocket , Geolocation
CSS3 新特性
1、颜色: 新增 RGBA , HSLA 模式
2、文字阴影(text-shadow)
3、边框: 圆角(border-radius) 边框阴影 : box-shadow
4、盒子模型: box-sizing
5、背景:background-size background-origin background-clip
6、渐变: linear-gradient , radial-gradient
7、过渡 : transition 可实现动画
8、自定义动画 animate @keyfrom
9、媒体查询 多栏布局 @media screen and (width:800px) {…}
10、border-image
11、2D 转换;transform: translate(x,y) rotate(x,y) skew(x,y) scale(x,y)
12、3D 转换
13、字体图标 font-face
14、弹性布局 flex
1.拖拽释放(Drap and drop) (API ondrop)
拖拽释放是一种常见的特性

二. Localstorage(本地储存),sessionStorage(会话储存),cookie(缓存)的区别

*1.共同点😗:作用一致:用于储存数据 都是只能存储字符串类型数据(上限5MB) (都是保存在阅览器端,且同源的)
**2.不同点:**存储方式不同
localStorage : 硬盘存储(永久存储,页面关闭还在,存在硬盘)
sessionStorage :内存存储(临时存储,页面关闭了就消失)

3.localStoragesessionStorage如何存储引用类型数据(数组和对象)

  • 转json存储
    json -> js : let jsObj = JSON.parse( json格式 )
    js -> json : let jsonStr = JSON.stringify( js对象 )
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <button class="btn1">存对象</button>
    <button class="btn2">取对象</button>
    <script>
        /* 
        json -> js :   let jsObj = JSON.parse( json格式 )
        js -> json :   let jsonStr = JSON.stringify( js对象 )
        */  

        let obj = {
            name:'橙紫皮',
            age:18,
            sex:'男'
        }
        
        document.querySelector('.btn1').onclick = function(){
            //存 : (1)js -> json  (2)存json
            // //(1)js->json
            // let jsonStr = JSON.stringify( obj )
            // //(2)存json
            // localStorage.setItem('user',jsonStr)

            //合写一行
            localStorage.setItem('user',JSON.stringify( obj ))
        }

        document.querySelector('.btn2').onclick = function(){
            //取: (1)取json  (2)json->js
            // //(1)取json
            // let jsonStr = localStorage.getItem('user')
            // //(2)json->js
            // let jsObj = JSON.parse( jsonStr )
            // 

            //合写一行
            let jsObj = JSON.parse( localStorage.getItem('user') )
            console.log( jsObj )
            
        }
    </script>
</body>
</html>

**三.CSS 的盒模型? **
盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际
内容这几个部分
1、标准盒模型中 width 指的是内容区域 content 的宽度
height 指的是内容区域 content 的高度
标准盒模型下盒子的大小 = content + border + padding + margin

在这里插入图片描述
四:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

All rivers run in to the sea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值