前端知識日報--(打印、預(yù)加載净嘀、文字省略號)

image.png

前端端知識日報是本坑新開的專題挖藏,記錄每天碰到的腦子里有點模糊的知識點膜眠。

圖片預(yù)加載實現(xiàn)溜嗜。

所謂預(yù)加載炸宵,就是在圖片加載完成之前焙压,不進(jìn)行img src的設(shè)置而是用默認(rèn)設(shè)置,直到圖片加載完成再替換src.也就是說野哭,圖片沒加載完成之前拨黔,不去渲染圖片绰沥。

function preLoad(){
        let img = new Image();
        img.src = url;
        img.onload=function(){//圖片加載完成后立即執(zhí)行
               this.src=img.src
 }
}

如果是同時監(jiān)聽多個圖片呢?之前有個面試官問我如何實現(xiàn)多個圖片同時渲染零截,也是一樣的問題秃臣。

可以使用Promise.all

    addPromise (url) {
      return new Promise((reslove, reject) => {
        let img = new Image();
        img.src = url;
        img.onload = () => {
          reslove(url);
        }
        })
      }
    Promise.all(arr).then(reslove => {
        for (let i = 0; i < reslove.length; i++) {
              console.log('')
        }
        that.publishPrint(iframe, template)
      })
    }
a標(biāo)簽取消默認(rèn)
 a{ 
  text-decoration:none; 
  color:#333; 
} 
v-if和v-show的區(qū)別

v-if dom節(jié)點不渲染哪工,不存在雁比;v-show是display:none

打印實現(xiàn)
    /**
     *
     * @description 打印方法
     * @param {*} target  要打印的iframe
     * @param {*} template  要打印的模板
     */
    publishPrint (target, template) {
      var doc = target.contentWindow.document;
      doc.body.innerText = "";// 清空之前保存內(nèi)容
      doc.write(template);//分頁打印
      doc.close()
      target.contentWindow.focus();
      target.contentWindow.print();
    }

使用樣式也可以達(dá)到分頁打印的效果撤嫩,比如使用下面幾個屬性:

page-break-before和page-break-after CSS屬性并不會修改網(wǎng)頁在屏幕上的顯示序攘,這兩個屬性是用來控制文件的打印方式。每個打印屬性都可以設(shè)定4種設(shè)定值:auto败京、always赡麦、left和right泛粹。
Auto:是默認(rèn)值肮疗,只有在有需要時伪货,才需設(shè)定分頁符號 (Page breaks)碱呼。
page-break-before若設(shè)定成always:則是在遇到特定的組件時蒙挑,打印機(jī)會重新開始一個新的打印頁忆蚀。
page-break-before若設(shè)定成left:則會插入分頁符號,直到指定的組件出現(xiàn)在一個左邊的空白頁上姑裂。
page-break-before若設(shè)定成right:則會插入分頁符號,直到指定的組件出現(xiàn)在一個右邊的空白頁上舶斧。
page-break-after屬性會將分頁符號加在指定組件后,而非之前茴厉。

.a {
    page-break-before:always;
    page-break-after:always;
}

打印事件還可以進(jìn)行監(jiān)聽

     window.addEventListener('beforeprint', () => {
      console.log('正在打印...')
     });
     window.addEventListener('beforeprint', () => {
      console.log('完成打印...')
     });
超出文字換行

換行屬性有如下三個:

white-space:規(guī)定如何處理空白观堂,是否換行,默認(rèn)值:normal(超出時自動換行)师痕;
word-wrap:normal (默認(rèn),只在內(nèi)容的斷點換行而账,即不能斷開單詞)或 break-word(長單詞內(nèi)也可換行)胰坟;
word-break:normal(默認(rèn),只在內(nèi)容的斷點換行)或 break-all (允許斷開單詞)泞辐、keep-all(只在半角或連字符處允許換行)。

關(guān)于省略號顯示咐吼,有這這么幾個屬性會遇到:

-webkit-line-clamp:用來限制在一個塊元素顯示的文本的行數(shù)。 
display: -webkit-box: 將對象作為彈性伸縮盒子模型顯示厢塘。 
-webkit-box-orient :設(shè)置或檢索伸縮盒對象的子元素的排列方式 晚碾。 
text-overflow : clip | ellipsis  clip-不顯示省略標(biāo)記(...)格嘁,而是簡單的裁切.ellipsis-當(dāng)對象內(nèi)文本溢出時顯示省略標(biāo)記(...)

單行省略顯示:

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap

多行后省略顯示,五個屬性缺一不可。box-orient在所有瀏覽器都不生效,但是加了webkit,webkit系列瀏覽器則有效懂诗,-moz則火狐瀏覽器有效。

  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;//該屬性會將此元素及其直系子代加入彈性框模型中步氏。(Flexbox 模型只適用于直系子代)
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;//該屬性定義父元素的子元素是如何排列的响禽。
   word-break: break-all;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荚醒,隨后出現(xiàn)的幾起案子芋类,更是在濱河造成了極大的恐慌,老刑警劉巖界阁,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侯繁,死亡現(xiàn)場離奇詭異,居然都是意外死亡泡躯,警方通過查閱死者的電腦和手機(jī)贮竟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門丽焊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咕别,你說我怎么就攤上這事技健。” “怎么了惰拱?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵雌贱,是天一觀的道長。 經(jīng)常有香客問我偿短,道長欣孤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任昔逗,我火速辦了婚禮降传,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勾怒。我一直安慰自己婆排,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布控硼。 她就那樣靜靜地躺著泽论,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卡乾。 梳的紋絲不亂的頭發(fā)上翼悴,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機(jī)與錄音幔妨,去河邊找鬼鹦赎。 笑死,一個胖子當(dāng)著我的面吹牛误堡,可吹牛的內(nèi)容都是我干的古话。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼锁施,長吁一口氣:“原來是場噩夢啊……” “哼陪踩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悉抵,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤肩狂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后姥饰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傻谁,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年列粪,在試婚紗的時候發(fā)現(xiàn)自己被綠了审磁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谈飒。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖态蒂,靈堂內(nèi)的尸體忽然破棺而出杭措,到底是詐尸還是另有隱情,我是刑警寧澤吃媒,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布瓤介,位于F島的核電站,受9級特大地震影響赘那,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氯质,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一募舟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闻察,春花似錦拱礁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钉嘹,卻和暖如春鸯乃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跋涣。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工缨睡, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人陈辱。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓奖年,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沛贪。 傳聞我的和親對象是個殘疾皇子陋守,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)利赋。 注意:講述HT...
    kismetajun閱讀 27,518評論 1 45
  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程水评,因...
    小菜c閱讀 6,444評論 0 17
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,312評論 25 707
  • 早飯時,總是問關(guān)于邸安琪的各種問題隐砸,我被問得厭煩了之碗,反反復(fù)復(fù)糾結(jié)這些問題,我立刻來了情緒季希。批評了她褪那,她立刻顯得手無...
    格格的歌閱讀 164評論 0 0
  • 讀這本書的感覺就像小時候讀的故事書一樣博敬,只是它更接近于我們的生活友浸,并且充滿了正能量,鼓舞著我們對生活的熱情偏窝,踏踏實...
    妮洱君閱讀 452評論 0 2