久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

CSS如何判斷鼠標進入的方向

這篇文章給大家分享的是有關CSS如何判斷鼠標進入的方向的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10年積累的成都做網站、網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站后付款的網站建設流程,更有鄂托克免費網站建設讓你可以放心的選擇與我們合作。

在之前某一個前端技術群里,有一個群友說他面試的時候遇到了一個問題,就是面試官讓他用純 CSS 來實現一個根據鼠標移動位置覺得物體移動方向的 DEMO。

給出的初始結構如下:

<style>
body {
    padding: 2em;
    text-align: center;
}
.block {
    position: relative;
    display: inline-block;
    width: 10em;
    height: 10em;
    vertical-align: middle;
}

.block_content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 10em;
    background: #333;
    color: #FFF;
}
</style>
<p class="text">從不同方向使鼠標指針移過下面的內容</p>
<p>&darr;</p>
<span>&rarr; </span>
<div class="block">
    <div class="block_content">
        Hover me!
    </div>
</div>
<span> &larr;</span>
<p>&uarr;</p>

效果圖如下:

CSS如何判斷鼠標進入的方向 

實現

凈會問這種不實用又跟業務沒啥關系的問題,氣抖冷,中國前端什么時候才能真正的站起來。 謝謝面試官提出的好問題,我會努力實現出來的。

所以這個功能真的能用純 CSS 實現嗎?

答案是可以的,首先我們來分解下思路。

CSS 鼠標事件

首先根據題干,我們知道這題是需要用到鼠標操作的,JS 里我們有各種 mouse 事件,但同樣的,CSS 我們也有 :hover

這題我們需要利用到的選擇器就是 :hover

判斷方向

判斷方向的功能便是本題的核心。

從題圖上來看,其實已經給了我們方向的指引,就是告訴我們鼠標要通過四個箭頭的方向進入。

然后就是如果要純 CSS 來實現,就是我們的鼠標必須要觸碰到某個關鍵節點,而且這個節點的某個表現一定是可以代表這個方位的。

這就是題目給出的兩個隱藏條件。

所以我們來嘗試下實現。

首先要通過 :hover 來觸碰到這個關鍵節點,而且是要在箭頭指向的方向下觸碰觸發,那么我們可以在箭頭所指的方向都加上一個能被觸碰到的物體,例如這樣:

<style>
.block_hoverer {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.block_hoverer:nth-child(1) {
    background: red;
}

.block_hoverer:nth-child(2) {
    background: lime;
}

.block_hoverer:nth-child(3) {
    background: orange;
}

.block_hoverer:nth-child(4) {
    background: blue;
}
</style>
<div class="block">
    <div class="block_hoverer">上</div>
    <div class="block_hoverer">下</div>
    <div class="block_hoverer">左</div>
    <div class="block_hoverer">右</div>
    <div class="block_content">
        Hover me!
    </div>
</div>

效果如下:

CSS如何判斷鼠標進入的方向

我們可以發現,除了 右塊之外,都被遮住了,嗯,正常現象。

接下來我們只需要讓這幾個塊退到邊緣即可。

代碼如下:

.block_hoverer {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
.block_hoverer:nth-child(1) {
  background: red;
  top: -90%;
}

.block_hoverer:nth-child(2) {
  background: lime;
  top: 90%;
}

.block_hoverer:nth-child(3) {
  background: orange;
  left: -90%;
}

.block_hoverer:nth-child(4) {
  background: blue;
  left: 90%;
}

效果如下:

CSS如何判斷鼠標進入的方向

然后我們加上過渡:

.block_hoverer {
  transition: all 0.3s ease;
}
.block_hoverer:hover {
  opacity: 1;
  top: 0;
  left: 0;
}

效果如下:

CSS如何判斷鼠標進入的方向

一步就是隱藏起來:

.block {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 10em;
  height: 10em;
  vertical-align: middle;
}
.block_hoverer {
  opacity: 0;
}
.block_hoverer:hover {
  opacity: 1;
}

效果如下:

CSS如何判斷鼠標進入的方向

所以我們有完整代碼如下:

<style>
    body {
        padding: 2em;
        text-align: center;
    }
    .block {
        position: relative;
        display: inline-block;
        overflow:hidden;
        width: 10em;
        height: 10em;
        vertical-align: middle;
        transform: translateZ(0);
    }
    .block_hoverer {
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: all .3s ease;
    }

    .block_hoverer:nth-child(1) {
        background: red;
        top: -90%;
    }

    .block_hoverer:nth-child(2) {
        background: lime;
        top: 90%;
    }

    .block_hoverer:nth-child(3) {
        background: orange;
        left: -90%;
    }

    .block_hoverer:nth-child(4) {
        background: blue;
        left: 90%;
    }
    .block_hoverer:hover {
        opacity: 1;
        top: 0;
        left: 0;
    }

    .block_content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        line-height: 10em;
        background: #333;
        color: #FFF;
    }
</style>
<body>
    <p class="text">從不同方向使鼠標指針移過下面的內容</p>
    <p>&darr;</p>
    <span>&rarr; </span>
    <div class="block">
        <div class="block_hoverer">1</div>
        <div class="block_hoverer">2</div>
        <div class="block_hoverer">3</div>
        <div class="block_hoverer">4</div>
        <div class="block_content">
            Hover me!
        </div>
    </div>
    <span> &larr;</span>
    <p>&uarr;</p>
</body>

完整效果可以查看魚頭的codepen

感謝各位的閱讀!關于“CSS如何判斷鼠標進入的方向”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網站名稱:CSS如何判斷鼠標進入的方向
轉載來于:http://www.js-pz168.com/article42/pojohc.html

成都網站建設公司_創新互聯,為您提供網站營銷網站排名關鍵詞優化動態網站定制網站營銷型網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
91精品国产综合久久久蜜臀粉嫩 | 日韩精品国产精品| 国产中文字幕一区| 99热99热| 日本大香伊一区二区三区| 精品久久久三级丝袜| 亚洲精品伦理在线| 国产精品亚洲第一区在线暖暖韩国| 99se婷婷在线视频观看| 一区在线电影| 久久久久久久综合色一本| 亚洲大片在线观看| av一区二区久久| 亚洲精品乱码视频| 26uuu欧美| 日韩精品一二区| 91福利入口| 色94色欧美sute亚洲线路一久| www日韩大片| 日韩经典中文字幕一区| 91丨porny丨中文| 色综合天天综合| 国产欧美日韩综合| 麻豆成人av在线| 国产一区再线| 欧美一级片在线| 亚洲午夜精品久久久久久久久| 不卡大黄网站免费看| 亚洲一区三区视频在线观看| www欧美成人18+| 美女网站在线免费欧美精品| 国产精品嫩草在线观看| 欧美日韩一二三区| 一区二区在线电影| 成人黄色在线看| 中文字幕日韩精品一区二区| 国产亚洲精品aa| 九九视频精品免费| 免费精品视频一区| 欧美精品一区视频| 久热成人在线视频| 欧美激情专区| 久久久午夜精品| 精品一区二区免费在线观看| 欧美一区二区在线| 久久婷婷国产综合国色天香| 久久99久久精品| 日韩在线三级| 中文字幕国产精品一区二区| 国产一区二区视频在线| 日本黄网免费一区二区精品| 久久九九全国免费| 国产精品自拍网站| 一本大道久久a久久精二百| 国产精品理论片| 波多野结衣欧美| 欧美日韩一区国产| 婷婷中文字幕一区三区| 九九99久久| 国产亚洲欧美激情| 盗摄精品av一区二区三区| 91久久一区二区| 亚洲成va人在线观看| 国产伦理久久久| 四虎永久在线精品免费一区二区| 久久精品免视看| 处破女av一区二区| 欧美日韩国产三级| 日韩一区精品视频| 日本午夜一区二区三区| 国产精品天天看| 99久久久无码国产精品| 在线不卡a资源高清| 免费人成精品欧美精品| 五月婷婷一区| 一区二区三区在线免费| 国产一区精品视频| 中文字幕电影一区| 91精品国产一区二区三区动漫| 日韩一级大片在线观看| 国内精品伊人久久久久av影院| 色综合中文字幕| 亚洲超碰97人人做人人爱| 蜜桃av久久久亚洲精品| 中文字幕一区二区三| 超碰97国产在线| 国产日韩一级二级三级| 91在线视频播放| 精品成人免费观看| av资源站一区| 欧美成人a∨高清免费观看| 国产成人亚洲精品青草天美| 欧美日韩高清影院| 九九国产精品视频| 欧美色视频在线| 久久99九九99精品| 欧美日韩精品一区二区三区蜜桃| 日本vs亚洲vs韩国一区三区二区 | 7777精品伊人久久久大香线蕉最新版| 蜜臀av亚洲一区中文字幕| 一本久久a久久精品vr综合| 亚洲国产欧美在线| 亚洲视频小说| 日日噜噜夜夜狠狠视频欧美人 | 欧美狂野另类xxxxoooo| 韩国一区二区三区| 欧美另类久久久品| 国产高清精品在线| 日韩免费视频一区| 99re8在线精品视频免费播放| 久久综合色综合88| 97人人澡人人爽| 国产精品美女久久久久高潮| 国产偷久久久精品专区| 亚洲视频小说图片| 日本在线播放一区| 午夜精品久久久久久久99樱桃| 中国成人亚色综合网站 | 色综合久久久久网| 美日韩一区二区三区| 欧美日韩国产美| 成人中文字幕合集| 久久久亚洲精品一区二区三区| 动漫3d精品一区二区三区| 成人免费在线播放视频| 欧美综合77777色婷婷| 亚洲va在线va天堂| 在线观看日韩高清av| 国产一区二区三区精品视频| 日韩欧美黄色影院| av成人在线电影| 亚洲另类在线视频| 自拍偷拍亚洲色图欧美| 精品一二三四在线| 精品国产3级a| 国产精品自拍首页| 亚洲午夜视频在线观看| 欧美性xxxxxx少妇| 成人性生交大片免费看中文 | 欧美一区二区三区在| 97se亚洲国产综合自在线| 国产精品传媒视频| 一区二区三区四区五区精品 | 99re在线国产| 7777精品伊人久久久大香线蕉 | 国产日韩精品一区二区三区| 久久久综合香蕉尹人综合网| 五月天激情小说综合| 91.xcao| 产国精品偷在线| 亚洲午夜视频在线| 69成人精品免费视频| 99久久99久久| 亚洲第一激情av| 69堂成人精品免费视频| 国产精品免费一区二区三区四区 | 成人精品免费网站| 国产精品久久久久久久久动漫| 亚洲欧美在线网| 国产精品1区二区.| 中文字幕一区二区视频| 一本一道久久a久久精品| 国产69精品久久777的优势| 中文幕一区二区三区久久蜜桃| 日韩在线三区| 国产福利一区二区三区视频| 国产人妖乱国产精品人妖| 午夜一区二区三区| 国产电影一区二区三区| 中文字幕一区二区三区av| 在线观看国产精品网站| 99国产精品久久久| 亚洲成人三级小说| 欧美xxxxxxxx| 青青成人在线| 国产一区二区在线看| 国产精品国产三级国产| 色国产精品一区在线观看| 99久久精品情趣| 亚洲综合男人的天堂| 欧美一级片在线观看| 欧美久久电影| 国产盗摄一区二区| 一区二区三区四区不卡视频| 在线不卡一区二区| 久久香蕉综合色| 国产馆精品极品| 一区二区日韩av| 日韩三级视频在线观看| 相泽南亚洲一区二区在线播放 | 精品88久久久久88久久久| 先锋影音一区二区三区| 99久久99久久免费精品蜜臀| 亚洲国产精品久久艾草纯爱| 久久只精品国产| 色哟哟一区二区| 国产一区二区无遮挡| 国产综合久久久久久鬼色| 亚洲欧美日韩国产手机在线| 91精品久久久久久久99蜜桃|