第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

前端面試詳解

標(biāo)簽:
面試

css实现单行文本溢出显示 ...

直接上效果:相对于多行文本溢出做处理, 单行要简单多,且更容易理解。

复制代码

overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 当然还需要加宽度width属来兼容部分浏览。

复制代码

https://img1.sycdn.imooc.com//5ba8adc50001e16f01500052.jpg

实现多行文本溢出显示...

方法:

复制代码

display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;

复制代码

因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;

  1. -webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:

  2. display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。

  3. -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

可能用到的meta标签

复制代码

<!-- 设置缩放 --> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, minimal-ui" /> <!-- 可隐藏地址栏,仅针对IOS的Safari(注:IOS7.0版本以后,safari上已看不到效果) --> <meta name="apple-mobile-web-app-capable" content="yes" /> <!-- 仅针对IOS的Safari顶端状态条的样式(可选default/black/black-translucent ) --> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <!-- IOS中禁用将数字识别为电话号码/忽略Android平台中对邮箱地址的识别 --> <meta name="format-detection"content="telephone=no, email=no" />  其他meta标签 <!-- 启用360浏览器的极速模式(webkit) --> <meta name="renderer" content="webkit"> <!-- 避免IE使用兼容模式 --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 --> <meta name="HandheldFriendly" content="true"> <!-- 微软的老式浏览器 --> <meta name="MobileOptimized" content="320"> <!-- uc强制竖屏 --> <meta name="screen-orientation" content="portrait"> <!-- QQ强制竖屏 --> <meta name="x5-orientation" content="portrait"> <!-- UC强制全屏 --> <meta name="full-screen" content="yes"> <!-- QQ强制全屏 --> <meta name="x5-fullscreen" content="true"> <!-- UC应用模式 --> <meta name="browsermode" content="application"> <!-- QQ应用模式 --> <meta name="x5-page-mode" content="app"> <!-- windows phone 点击无高光 --> <meta name="msapplication-tap-highlight" content="no">

复制代码

 

字体font-family

复制代码

@ 宋体      SimSun @ 黑体      SimHei @ 微信雅黑   Microsoft Yahei @ 微软正黑体 Microsoft JhengHei @ 新宋体    NSimSun @ 新细明体  MingLiU @ 细明体    MingLiU @ 标楷体    DFKai-SB @ 仿宋     FangSong @ 楷体     KaiTi @ 仿宋_GB2312  FangSong_GB2312 @ 楷体_GB2312  KaiTi_GB2312   @ @ 说明:中文字体多数使用宋体、雅黑,英文用Helvetica body { font-family: Microsoft Yahei,SimSun,Helvetica; }

复制代码

let var const

复制代码

let 允许你声明一个作用域被限制在块级中的变量、语句或者表达式 let绑定不受变量提升的约束,这意味着let声明不会被提升到当前 该变量处于从块开始到初始化处理的“暂存死区”。 var 声明变量的作用域限制在其声明位置的上下文中,而非声明变量总是全局的 由于变量声明(以及其他声明)总是在任意代码执行之前处理的,所以在代码中的任意位置声明变量总是等效于在代码开头声明 const 声明创建一个值的只读引用 (即指针) 这里就要介绍下 JS 常用类型  String、Number、Boolean、Array、Object、Null、Undefined 其中基本类型 有 Undefined、Null、Boolean、Number、String,保存在栈中; 复合类型 有 Array、Object ,保存在堆中; 基本数据当值发生改变时,那么其对应的指针也将发生改变,故造成 const申明基本数据类型时, 再将其值改变时,将会造成报错, 例如 const a = 3 ; a = 5 时 将会报错; 但是如果是复合类型时,如果只改变复合类型的其中某个Value项时, 将还是正常使用;

复制代码

箭头函数

语法比函数表达式更短,并且不绑定自己的this,arguments,super或 new.target。这些函数表达式最适合用于非方法函数,并且它们不能用作构造函数。

事件的各个阶段

复制代码

1:捕获阶段 ---> 2:目标阶段 ---> 3:冒泡阶段 document   ---> target目标 ----> document 由此,addEventListener的第三个参数设置为true和false的区别已经非常清晰了: true表示该元素在事件的“捕获阶段”(由外往内传递时)响应事件; false表示该元素在事件的“冒泡阶段”(由内向外传递时)响应事件。

复制代码

跨域的几种方式

首先了解下浏览器的同源策略 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

解决方法:

复制代码

1 通过jsonp跨域     1.)原生实现:      <script>         var script = document.createElement('script');         script.type = 'text/javascript';         // 传参并指定回调执行函数为onBack          script.src = 'http://www.....:8080/login?user=admin&callback=onBack';         document.head.appendChild(script);         // 回调执行函数         function onBack(res) {             alert(JSON.stringify(res));         }      </script> 2、 document.domain + iframe跨域       此方案仅限主域相同,子域不同的跨域应用场景。     1.)父窗口:(http://www.domain.com/a.html)         <iframe id="iframe" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://child.domain.com/b.html"></iframe>         <script>             document.domain = 'domain.com';             var user = 'admin';         </script>         2.)子窗口:(http://child.domain.com/b.html)         <script>             document.domain = 'domain.com';             // 获取父窗口中变量              alert('get js data from parent ---> ' + window.parent.user);         </script>3、 nginx代理跨域 4、 nodejs中间件代理跨域 5、 后端在头部信息里面设置安全域名

复制代码

其余跨域可以自行去网上了解

 

渲染优化

复制代码

1.禁止使用iframe(阻塞父文档事件);     *iframe会阻塞主页面的Onload事件;     *搜索引擎的检索程序无法解读这种页面,不利于SEO;     *iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。     使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好是通过javascript     动态给iframe添加src属性值,这样可以绕开以上两个问题。 2.禁止使用gif图片实现loading效果(降低CPU消耗,提升渲染性能); 3、使用CSS3代码代替JS动画(尽可能避免重绘重排以及回流); 4、对于一些小图标,可以使用base64位编码,以减少网络请求。但不建议大图使用,比较耗费CPU;         小图标优势在于:             1.减少HTTP请求;             2.避免文件跨域;             3.修改及时生效; 5、页面头部的<style></style> 会阻塞页面;(因为 Renderer进程中 JS线程和渲染线程是互斥的); 6、页面头部<script</script> 会阻塞页面;(因为 Renderer进程中 JS线程和渲染线程是互斥的); 7、页面中空的 href 和 src 会阻塞页面其他资源的加载 (阻塞下载进程); 8、网页Gzip,CDN托管,data缓存 ,图片服务器; 9、前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 10、用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。 11、当需要设置的样式很多时设置className而不是直接操作style。 12、少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。 13、避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。 14、图片预加载,将样式表放在顶部,将脚本放在底部  加上时间戳。 15、 避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢。     对普通的网站有一个统一的思路,就是尽量向前端优化、减少数据库操作、减少磁盘IO。         向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,         能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,         本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。         减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join查询),         减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。程序优化永远要优化慢的部分,换语言是无法“优化”的。

复制代码

viewport

复制代码

<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> // width    设置viewport宽度,为一个正整数,或字符串‘device-width’ // device-width  设备宽度 // height   设置viewport高度,一般设置了宽度,会自动解析出高度,可以不用设置 // initial-scale    默认缩放比例(初始缩放比例),为一个数字,可以带小数 // minimum-scale    允许用户最小缩放比例,为一个数字,可以带小数 // maximum-scale    允许用户最大缩放比例,为一个数字,可以带小数 // user-scalable    是否允许手动缩放

复制代码

css div盒子垂直水平居中

完整代码如下

复制代码

<!DOCTYPE html> <html> <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>     <style>         .box{             width: 500px;             height: 500px;             margin: 0 auto;             position: relative;             border: 1px solid;         }         .child{             width: 150px;             height: 150px;             position: absolute;             top: 0;             bottom: 0;             left: 0;             right: 0;             margin:  auto;             border: 1px solid;         }              </style> <body>    <div class="box">        <div class="child"></div>    </div> </body> </html>

复制代码

结果:

https://img1.sycdn.imooc.com//5ba8add00001027307010566.jpg

 

关于其他常见面试题还在做一下整理……

原文出处:https://www.cnblogs.com/y-y-y-y/p/9614435.html  

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
手記
粉絲
80
獲贊與收藏
378

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消