天天看點

純CSS換膚

30行代碼實作純CSS—3種換膚

老規矩,先把代碼給大家,拿去粘貼直接用,無需引用,不好用評論底下随便噴,我一條一條看。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
	body{background-color: #eee}
		input{display: none;}
		label{position: relative;display: block;width: 70px;height: 30px;text-align: center;line-height: 30px;margin:10px;cursor: pointer;border: 1px #000 solid;z-index: 3;}
		#int1+label{background-color: red}
		#int2+label{background-color: pink}
		#int3+label{background-color: orange}
		div{width: 100%;height: 100%;position:absolute;top:0px;left:0px;}
		#int1:checked+label+div{background-color: red}
		#int2:checked+label+div{background-color: pink}
		#int3:checked+label+div{background-color: orange}
	</style>
</head>
<body>
	<input type="radio" name="only" id="int1">
	<label for="int1"></label>
	<div></div>
	<input type="radio" name="only" id="int2" checked>
	<label for="int2"></label>
	<div></div>
	<input type="radio" name="only" id="int3">
	<label for="int3"></label>
	<div></div>
</body>
</html>           

複制

結構說一下,用途說一下,咱們下次再見

首先在html中搭建好input、label、div,最好是緊貼着的,比如input1、label1、div1、input2、label2、div2。。。這種,因為取名字太麻煩,這樣簡單省事

我把方法教給大家,添加上自己的類或id就可以随意更改使用了。

具體的樣式都寫在style中了,大家去看的話也是一目了然,詳細的樣式規則和中文釋義都在上一篇部落格中,連結在這裡

html界面換膚

點選藍色字型就可以跳轉至上一篇部落格,大緻略讀就可完全了解其中内容。

強調一點,input是這樣寫的:

<input type="radio" name="only" id="int1">           

複制

input是單标記标簽,type是類型,radio意味着單選按鈕,但如何實作單選是一個重點。

規定input[type=radio]的name必須相同,否則無法實作單選。是以三個input的name都是only意為 “ 唯一 ” ;

id值用于跟label連接配接,實作點選label就等同于點選input的效果,為了好看,後期我們是要讓input消失的

<label for="int1"></label>           

複制

本章的難點在選擇器上,如果放到大網頁裡,那種數千行的代碼,我們不能再這樣寫選擇器,容易起沖突。

最保險的寫法就是:

body>input[type=“radio”]+label+div

這句話的意思是選中body下方的直接子元素,并且它的type值等于radio,等等

這裡選中的并不是它,關鍵在“ + ”,這是兄弟選擇器符号,意為選中該input下邊的第一個lable,該label下邊的第一個div,最終被選中的隻有div,這是重點,被選中的隻有div,滑鼠點選隻有div的顔色才會被切換。

checked意為“預設選中”,

我給int2添加了checked就是想頁面剛打開的時候不是白色,有一個預設值。

CSS中的checked意義不同,意為此時被選中,那麼我執行…