一個簡單的動態頁面(我的第一個博客)

来源:https://www.cnblogs.com/Ryan777/archive/2018/11/10/9940652.html
-Advertisement-
Play Games

2018-11-10 今天是我第一次寫博客,因為沒經驗嘛,我就隨便寫寫,我也希望自己以後能堅持寫下去,不為別的,就為了自己能夠更好地學習編程,能夠追隨行業大牛的腳步,從此贏取白富美,走上人生巔峰(額,理想遠大呵!) 好吧,步入正題,因為目前在學java,加了一些培訓機構的群,跟著做了一個小項目,就是 ...


2018-11-10

今天是我第一次寫博客,因為沒經驗嘛,我就隨便寫寫,我也希望自己以後能堅持寫下去,不為別的,就為了自己能夠更好地學習編程,能夠追隨行業大牛的腳步,從此贏取白富美,走上人生巔峰(額,理想遠大呵!)

 

好吧,步入正題,因為目前在學java,加了一些培訓機構的群,跟著做了一個小項目,就是做個頁面,當滑鼠懸浮於圖片之上的時候,圖片會實現一個放大旋轉的效果,經簡單的,具體演示看下圖:

 

 

我覺得這個項目的難點有兩點:

  1. 背景上疊加的六邊形
  2. 滑鼠放置圖片上,圖片顯示旋轉放大效果

一,首先講一下如何做背景六邊形

  這個六邊形其實是在li標簽中,放置兩個div標簽,並且都是用rgba設置成黑色半透明,在正常情況下我們都知道,一個li標簽里放兩個與li標簽一樣大的div標簽,肯定會放不下,這樣,有一個div會被擠出去,如圖所示

為了把兩個div都放入li中,就需要讓另一個div飄起來,覆蓋在上面,這裡就需要介紹一下絕對位置 ,

 

 

position:absolute;
left: 0;
top: 0;

然後在div的父標簽li中調用相對位置,將飄在外邊的的div拉回去,

position:relative;

這樣,我們就可以使用css3的transform屬性來旋轉兩個div,這樣就可以得到一個六邊形

 

二,滑鼠放置圖片上,圖片顯示旋轉放大效果

要實現這個功能,要用到css中的hover選擇器,用法如下

選擇滑鼠指針浮動在其上的元素,並設置其樣式:

image:hover
{ 
transform:scale(1.4) rotate(360deg);
}

當然了,如果僅僅這樣就結束了,你是看不出效果的,因為畫面切換太快了,所以再此要用到css3 過渡屬性transition,讓css效果轉換,持續1秒

transition-duration:1s

就這些吧,再附個源碼(有些改動)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>多邊形旋轉放大</title>
</head>
<body>
    <div class="box">
        <ul>
            <li><img src="images/1.png"></li>
            <li><img src="images/2.png"></li>
            <li><img src="images/3.png"></li>
            <li><img src="images/4.png"></li>
            <li><img src="images/5.png"></li>
            <li class="cols2"><img src="images/6.png"></li>
            <li><img src="images/7.png"></li>
            <li><img src="images/8.png"></li>
            <li><img src="images/9.png"></li>
            <li><img src="images/10.png"></li>
            <li><img src="images/11.png"></li>
            <li><img src="images/12.png"></li>
            <li><img src="images/13.png"></li>
            <li><img src="images/14.png"></li>
        </ul>
    </div>
</body>
<style type="text/css">
    body{
        margin: 0;
        background-image: url("images/bodyBg.jpg");
    }
    .box{
        background-color: #d09324;
        width:1000px;
        height: 550px;
        margin:100px auto;
        background-image: url("images/bodyBg.jpg");
    }
    ul{
        margin:0;
        padding:18px;
        list-style: none;
    }
    li{
        position:relative;
        background-color:rgba(0,0,0,0.5);
        height: 105px;
        width: 180px;
        float: left;
        margin:30px 5px;
    }
    li:before, li:after{
        content: "";
        background-color:rgba(0,0,0,0.5);
        height: 100px;
        width: 180px;
        position:absolute;
        left: 0;
        top: 0;    
    }
    li:before{
        transform:rotate(60deg);
    }
    li:after{
        
        transform:rotate(-60deg);
    }
    .cols2{
        margin-left:100px;
    }
    img{
        position:absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        margin:auto;
        z-index: 9;
        transition-duration:1s;
    }
    .box img:hover {
    transform:scale(1.4) rotate(360deg);
    
}
</style>
</html>

 

 


 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • redis過期時間 1.redis過期時間介紹 有時候我們並不希望redis的key一直存在。例如緩存,驗證碼等數據,我們希望它們能在一定時間內自動的被銷毀。redis提供了一些命令,能夠讓我們對key設置過期時間,並且讓key過期之後被自動刪除。 2.redis過期時間相關命令 1.EXPIRE ...
  • #*.rpm介紹 大多數二進位rpm包都包含在名稱中倒數第二個欄位中編譯rpm的體繫結構。.rpm軟體包有那麼幾種 *.src.rpm 源程式包,要先通過編譯才能安裝 *.noarch.rpm 該包適用於任何架構 *.i*86.rpm 該包適用於intel cpu的電腦上運行 *.amd64.rpm ...
  • 簡單的用set或者declare語句定義變數,然後直接作為sql的表名是不行的,mysql會把變數名當作表名。在其他的sql資料庫中也是如此,mssql的解決方法是將整條sql語句作為變數,其中穿插變數作為表名,然後用sp_executesql調用該語句。 這在mysql5.0之前是不行的,5.0之 ...
  • 因為大數據前景好,薪資高,很多人想通過參加學習大數據,然後進入大數據行業發展。但是因為大數據的門檻較高,對於學習人員有一定的要求,那麼學習大數據需要什麼基礎知識呢? 一起來瞭解下對於大數據學習者本身的學歷水平的要求。 目前大多數的機構,對於大數據學習者要求必須是大專學歷以上,而且大專學歷還要求是理工 ...
  • 轉載請標明出處:https://www.cnblogs.com/tangZH/p/9939655.html 1、同個文件夾訪問 D:\Java\main\A.java D:\Java\main\B.java A訪問B的相對路徑為B.java 2、目標文件在其子目錄 D:\Java\A.java D: ...
  • 進行App開發的時候,使用震動器要在AndroidManifest.xml中加上如下許可權: 讓手機震動的功能用到了震動器Vibrator類,而震動器對象從系統服務VIBRATOR_SERVICE獲得,實現該功能的代碼很簡單,即便用Java書寫也只有以下兩行代碼: 兩行代碼看起來真沒什麼好簡化的了,因 ...
  • 轉載請標明出處,維權必究:https://www.cnblogs.com/tangZH/p/9939494.html android中引用的包一般分為兩種: 1、jar包 2、arr包 arr包其實帶有res的jar包,而普通的jar包是不帶資源文件的。那麼如何在項目中引用呢? 1、將arr包複製到 ...
  • 前文瞭解了什麼是前端,那麼前端技術到底有哪些呢?最核心的就這三個: html/html5 css/css3 javascript 什麼是HTML HyperText Markup Language,超文本標記語言 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...