<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          12 個(gè)實(shí)用的前端開(kāi)發(fā)技巧總結(jié)

          共 2548字,需瀏覽 6分鐘

           ·

          2020-08-07 23:50

          1. 利用 CSS 穿透覆蓋默認(rèn)樣式

          常見(jiàn)發(fā)生場(chǎng)景:假如我們需要通過(guò) input,type="file"來(lái)上傳文件,而這個(gè) input 的默認(rèn)樣式,可以說(shuō)是非常地。所以我們希望通過(guò)一張圖片,與這個(gè) input 大小一樣,位置一致地蓋在上面。這個(gè)時(shí)候,顯然,這個(gè)時(shí)候點(diǎn)擊圖片,input 是不會(huì)起作用的。就是因?yàn)?img 隔絕了 click 的穿透,而我們希望的是,這個(gè) img 只是視覺(jué)上遮擋了 input 的樣式,但是點(diǎn)擊的時(shí)候還是點(diǎn)擊到 input。所以,只要讓 img 可穿透即可。

          css 代碼如下:

          img?{
          ??pointer-events:?none;
          }

          2. 實(shí)現(xiàn)自定義原生 select 控件的樣式

          由于 select 移動(dòng)端原生樣式很丑,但是原生彈出效果是符合我們?cè)O(shè)計(jì)的原則。直接修改 select 的樣式的時(shí)候,一個(gè)奇怪的現(xiàn)象出現(xiàn)了,在 chrome 上調(diào)試的時(shí)候,自己定義的樣式起了作用,在 Android 手機(jī)上也起了作用,但是到了 ios 手機(jī)上就不行了,典型的不兼容問(wèn)題,這個(gè)時(shí)候禁用原生的樣式即可。

          css 代碼如下:

          select?{
          ??-webkit-appearance:?none;
          }

          3. 文本溢出處理

          移動(dòng)設(shè)備相對(duì)來(lái)說(shuō)頁(yè)面較小,很多時(shí)候顯示的一些信息都需要省略部分。最常見(jiàn)的是單行標(biāo)題溢出省略,多行詳情介紹溢出省略。現(xiàn)在都用框架開(kāi)發(fā)了,這種建議需求建議形成一個(gè)基礎(chǔ)組件,方便快捷。

          css 代碼如下:

          //單行
          .single?{
          ??overflow:?hidden;
          ??white-space:?nowrap;
          ??text-overflow:?ellipsis;
          }
          //多行
          .more?{
          ??display:?-webkit-box?!important;
          ??overflow:?hidden;
          ??text-overflow:?ellipsis;
          ??work-break:?break-all;
          ??-webkit-box-orient:?vertical;
          ??-webkit-line-clamp:?2;?//指定行數(shù)
          }

          4. 開(kāi)啟彈性滾動(dòng)

          css 代碼如下:

          body?{
          ??overflow:?scroll;
          ??-webkit-overflow-scrolling:?touch;
          }

          注意:Android 不支持原生的彈性滾動(dòng),但可以借助第三方庫(kù) iScroll 來(lái)實(shí)現(xiàn)。

          5. 一像素邊框設(shè)置

          很多時(shí)候,想保持邊框的大小在任何設(shè)置上都是 1px,但是因?yàn)?1px 使用 2dp 渲染,也就是說(shuō)會(huì)顯示為 2px 大小。所以,要采用 css3 縮放一下。

          css 代碼如下:

          .folder?li?{
          ??position:?relative;
          ??padding:?5px;
          }
          .folder?li?+?li:before?{
          ??position:?absolute;
          ??top:?-1px;
          ??left:?0;
          ??content:?"?";
          ??width:?100%;
          ??height:?1px;
          ??border-top:?1px?solid?#ccc;
          ??-webkit-transform:?scaleY(0.5);
          }

          6. 防止鼠標(biāo)選中事件

          <div?class="mask"?onselectstart="return?false">div>
          <div?class="link">
          ??<a?href="javascrip;;">登錄a>
          div>

          給元素添加了onslectstart="return false",就可以防止鼠標(biāo)選中事件。

          7. 給動(dòng)態(tài)添加的元素綁定事件

          利用事件代理達(dá)到這個(gè)效果即可。如:

          $(document).on("click",?".large",?slide);?//jq中的寫(xiě)法
          //第一個(gè)參數(shù)表示的是對(duì)應(yīng)事件,第二個(gè)是需要綁定事件的元素的id或class,第三個(gè)是綁定的對(duì)應(yīng)的事件函數(shù)名

          8. 兼容 IE 瀏覽器的透明度處理

          .ui?{
          ??width:?100%;
          ??height:?100%;
          ??opacity:?0.4;
          ??filter:?Alpha(opacity=40);?//兼容IE瀏覽器的處理
          }

          9. 常用的全屏居中 JS 函數(shù)

          //獲取元素
          function?getElement(ele)?{
          ??return?document.getElementById(ele);
          }
          //自動(dòng)居中函數(shù)
          function?autoCenter(el)?{
          ??var?bodyX?=?document.documentElement.offsetWidth?||?document.body.offsetWidth;
          ??var?bodyY?=
          ????document.documentElement.offsetHeight?||?document.body.offsetHeight;

          ??var?elementX?=?el.offsetWidth;
          ??var?elementY?=?el.offsetHeight;

          ??el.style.left?=?(bodyX?-?elementX)?/?2?+?"px";
          ??el.style.top?=?(bodyY?-?elementY)?/?2?+?"px";
          }

          10. 常用的全屏居中 CSS 函數(shù)

          body?{
          ??height:?100vh;
          ??text-align:?center;
          ??line-height:?100vh;
          }

          11. 在輸入框輸入完內(nèi)容并按回車(chē)的時(shí)候進(jìn)行判斷

          比如說(shuō)輸入完 11000 在按下回車(chē)的時(shí)候。

          "textbox"?id="textbox1"?onkeypress="CheckInfo"?/>

          ????<script?language="javascript"?type="text/javascript">
          ????function?CheckInfo()
          ????
          {
          ????if?(event.keyCode==13)?{
          ??????????alert(textbox1.text);
          ???????}
          ????}
          ????
          script>

          12. chrome 調(diào)試快捷鍵

          ① ctrl+shift+f 全文查找

          ② ctrl+o 查找文件名

          ③ ctrl+shift+o 查找 js 函數(shù)名

          學(xué)習(xí)交流

          • 關(guān)注公眾號(hào)【前端宇宙】,每日獲取好文推薦
          • 添加微信,入群交流

          “在看和轉(zhuǎn)發(fā)”就是最大的支持
          瀏覽 34
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码人妻精品一区二区蜜桃网站文 | 日本在线黄色片 | 欧美精品成人在线视频 | 国产毛片精品 | 日我小嫩逼免费视频 |