多型圖示(3)-HTML使用CSS切換
前言
本節實現的目標是使用HTML的CSS實現圖示的狀態的切換,效果圖如下
HTML標籤 <a> 四態
本demo使用html中的<a>標籤來演示,<a>也是有四態,如下:
a:link /*未訪問時的狀態*/
a:visited /*已訪問過的狀態*/
a:hover /*滑鼠移動到連結上時的狀態*/
a:active /*滑鼠按下去時的狀態*/
本節只實現了其中的三態轉換,分別為:link、hover、active,圖示如下
該圖示為90x30尺寸
HTML程式碼
上圖為demo的資料夾內容,其中img資料夾裡存放的是上圖所示的三態圖示,其中test.html內容如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .test a{background: url(img/testweb.png) no-repeat scroll 0 0 transparent; width: 30px; display: block; height: 30px; line-height: 12em; overflow: hidden; } .test a:hover{ background-position: -30px 0px; } .test a:active{ background-position: -60px 0px; } </style> </head> <body> <div class="test"> <a >關閉</a> </div> </body> </html>
該工程點此下載
你可以看到程式碼其實不多,因為我也是小白,好記性不如爛筆頭,接下來我將上面用到的知識整理一下
相關推薦
多型圖示(3)-HTML使用CSS切換
前言 本節實現的目標是使用HTML的CSS實現圖示的狀態的切換,效果圖如下 HTML標籤 <a> 四態 本demo使用html中的<a>標籤來演示,<a>也是有四態,如下: a:link /*未訪問時的狀態*/
C語言面向物件程式設計:虛擬函式與多型(3)
在《 C++ 程式設計思想》一書中對虛擬函式的實現機制有詳細的描述,一般的編譯器通過虛擬函式表,在編譯時插入一段隱藏的程式碼,儲存型別資訊和虛擬函式地址,而在呼叫時,這段隱藏的程式碼可以找到和實際物件一致的虛擬函式實現。 我們在這裡提供
3.Java面向物件程式設計OOA/OOP/OOD/OOAD()/UML類圖、函數語言程式設計Scala(JVM)---類與物件、封裝繼承多型、構造方法、覆寫/重寫/override
一、緒論 1.面向物件程式設計正規化(C++、Java、Go)------能進行現實生活的抽象。 每個物件都是一個類。類中包含屬性與方法。 OOA:面向物件分析 OOP:面向物件程式設計
3、【C++】繼承/多型
面向物件的三個基本特徵是:封裝、繼承、多型。其中,封裝可以隱藏實現細節,使得程式碼模組化;繼承可以擴充套件已存在的程式碼模組(類);它們的目的都是為了——程式碼重用。而多型則是為了實現另一個目的——介面重用! 封裝:將一類事物所共有的屬性和行為方法進行總結,封裝在一個類中
Java 知識點整理-3.面向物件(多型、抽象類、介面)
1、多型概述:事物存在的多種形態。 2、多型前提:要有繼承關係;要有方法重寫;要有父類引用指向子類物件(父類名 識別符號 = new 子類名();)。 3、多型中的成員訪問特點:Ⅰ.成員變數:編譯看左邊(父類),執行看左邊(父類)。 4、多型中的成員訪問特點:Ⅱ.成員方法:編譯看左邊(父
Python 3.6:多型的實現
多型的作用不用多說,C++用如下條件來實現多型: 要有繼承 要有虛擬函式函式重寫 要有父類指標(父類引用)指向子類物件 實際上C++使用VPTR指標來完成這個事情,其是設計模式的基礎,軟體分層的基石。最近看了一下Python,很欣慰python3.6(因為我學的時候已經
Java Challengers#3:多型性和繼承
根據Venkat Subramaniam的傳說,多型性是面向物件程式設計中最重要的概念。多型性 -或者物件基於其型別執行專門操作的能力 - 是使Java程式碼具有靈活性的原因。命令,觀察者,裝飾者,策略等設計模式以及Gang Of Four建立的許多其他模式都使用
c++面向物件程式設計3 繼承與派生 多型
1.繼承:程式碼重用 派生:程式碼的改造 public繼承: 基類的public和protected成員做子類的public和protected成員,而基類的private成員不可直接訪問;基類public成員,子類可以通過子類內部訪問該成員,也可以通過子類物件(類
面向物件程式設計的 3 個主要特徵:封裝性、繼承性、多型性
封裝性:封裝是一種資訊隱蔽技術,它體現於類的說明,是物件的重要特性。封裝使資料和加工該資料的方法(函式)封裝為一個整體,以實現獨立性很強的模組,使得使用者只能見到物件的外特性(物件能接受哪些訊息,具有哪些處理能力),而物件的內特性(儲存內部狀態的私有資料和實現加工能力的演算法
java面向物件的3大特徵——封裝,繼承,多型
封裝: 封裝的概念:將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問 封裝的兩大原則: 1)把儘可能多的東西藏起來,對外提供便捷的介面 2)把所有的屬性藏起來 封裝的步驟: 1)修改屬性的可見性:
3.java多型小案例
多型 Pet.java package com.gaoshou.class1.duotai; /* * Pet是父類,定義好所有子類的公共屬性和方法,子類不用再一次進行宣告和建立,可以直接引
讀《More Effective C++35個改善程式設計與設計的有效方法》之條款3:絕對不要以多型方式處理陣列
有以下程式: <pre name="code" class="cpp">class Base { public: Base(int n = 0) : _b(n) {} int _b; }; class Devide : public Base { publ
3.JAVA中的多型
方法的重寫規則 引數列表必須完全與被重寫方法的相同; 返回型別必須完全與被重寫方法的返回型別相同; 訪問許可權不能比父類中被重寫的方法的訪問許可權更低。例如:如果父類的一個方法被宣告為public,那麼在子類中重寫該方法就不能宣告為protected。 父類的成員方法
thinkphp3.2.3動態切換多資料庫
版本說明: thinkphp3.2.3新增自定義行為類 檔案位置:Application/Common/Behaviors/SwitchDbBehavior.class.php 檔案內容: namespace Common\Behaviors; class SwitchDbBehavior { //私
java學習日記_40:多型的記憶體圖示以及常見錯誤
記憶體使用圖1: 記憶體使用圖2: ———————————————— /* ClassCastException:型別轉換異常一般在多型的向下轉型中容易出現 */ class Animal {public void eat(){} } class Dog ex
java多線程3種方式
run current java se 自己 cut 了解 itl detail pan Java多線程實現方式主要有三種:繼承Thread類、實現Runnable接口、使用ExecutorService、Callable、Future實現有返回結果的多線程。其中前兩種方式
python-多線程3-生產者消費者
reading run cnblogs eas cond 多線程 rod con range ‘‘‘生產者和消費者‘‘‘ ‘‘‘ 用python寫一個多線程的生產者和消費者 生產者x x>0,有東西,print(不生產) x=0,沒東西,print(生產) for循
多校 2013 3
memset 技術分享 fin style code printf ++i pos long B hash 把字符串看成數字插進去 #include<stdio.h> #include<string.h> using namespace st
【鏈表】2017多校訓練3 HDU 6058 Kanade's sum
iostream ++ 多校 open pos cnblogs names mat play acm.hdu.edu.cn/showproblem.php?pid=6058 【題意】 給定一個排列,計算 【思路】 計算排列A中每個數的貢獻,即對於每個ai,計算有
Perl6多線程3: Promise start / in / await
await font erl 跟著 art logs pan 什麽 主程序 創建一個Promise 並自動運行: my $p = Promise.start({say ‘Hello, Promise!‘}); 如果把代碼改成如下, 我們會發現什麽也沒打印: my $p