1. 程式人生 > >HTML+CSS基礎知識個人筆記_7

HTML+CSS基礎知識個人筆記_7

HTML+CSS基礎知識個人筆記_7

1. 顯示與隱藏

display 不佔坑
visibility 佔坑

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>01_顯示與隱藏.html</title>
	<style>
	div {
		width: 300px;
		height: 300px;
		background-color: pink;
		/*隱藏, 不佔坑!!!*/
		/*display: none;*/
		/*顯示,慣用block,inline的話沒有內容還是看不到*/
		/*display: block;*/

		/*隱藏,佔坑!!!*/
		/*visibility: hidden;*/
		/*顯示*/
		visibility: visible;
	}
	p {
		width: 100px;
		height: 100px;
		background-color: purple;
	}
	</style>
</head>
<body>
	<div></div>
	<p>123</p>
</body>
</html>

2. 土豆案例

典型處理a .mask

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>02_土豆.html</title>
	<style>
	* {
		margin: 0;
		padding: 0;
	}
	a {
		/*如果不寫寬高和轉換成塊
		(inline-block也不行,可以有效果,但是auto不行了,margin:0 auto,適用於塊級元素且有寬),
		撐開是撐開,但是沒有寬高*/
		width: 520px;
		height: 280px;
		display: block;
		margin: 100px auto;
		position: relative;
	}
	.mask {
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, .4) url(images/icon.png) no-repeat center;
		position: absolute;
		top: 0;
		left: 0;
		display: none;
	}
	a:hover .mask {
		display: block;
	}
	</style>
</head>
<body>
	<a href="#">
		<img src="images/tb.jpg" />
		<div class="mask"></div>
	</a>
</body>
</html>

3. overflow

預設,溢位部分顯示
overflow: visible;
溢位部分隱藏,不是刪除
overflow: hidden;
滾動條,不管有沒有超出,都顯示滾動條
overflow: scroll;
在超出的時候,加滾動條,body 和 testarea 預設屬性
overflow: auto;

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>02_土豆.html</title>
	<style>
	div {
		width: 300px;
		height: 300px;
		border: 1px solid red;

		/*預設,溢位部分顯示*/
		/*overflow: visible;*/
		/*溢位部分隱藏,不是刪除*/
		/*overflow: hidden;*/
		/*滾動條,不管有沒有超出,都顯示滾動條*/
		/*overflow: scroll;*/
		/*在超出的時候,加滾動條,body 和 testarea 預設屬性*/
		/*overflow: auto;*/
	}
	</style>
</head>
<body>
	<div>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
		<p>123qwdsfgfnsasvsdvfe</p>
	</div>
</body>
</html>

4. cursor

<li style="cursor: default;">我是小白</li>
<li style="cursor: pointer;">我是小手</li>
<li style="cursor: move;">我是移動</li>
<li style="cursor: text;">我是文字</li>

5. 輪廓線和防止檔案域拖拽

/*取消輪廓線*/
outline: none;
/*防止檔案域拖拽*/
resize: none;

6. vertical-align

只針對行內或者行內塊,一般是圖片或表單和文字的對齊,不影響塊級元素
預設基線對齊,就算不加文字,也會有行高,就會有小空隙
解決:換成block或者換成基線對齊以外的對齊方式

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>06_vertical-align.html</title>
	<style>
	div {
		border: 2px solid red;
		/*line-height: 0;*/
	}
	/*vertical-align不影響塊級元素,只針對行內或者行內塊,特別是行內塊元素(基本上就是行內快),通常用來控制表單 圖片和文字的對齊*/
	/*圖片預設基線對齊,就算不加文字,預設也有行高,如上,行高為0就沒有空隙,但這不是解決方法*/
	img {
		/*法一,轉換成塊級元素,佔一行,則不會有對齊問題*/
		/*display: block;*/
		/*法二,改成除了base-line之外的,如top middle bottom對齊*/
		/*預設的*/
		/*vertical-align: baseline;*/

		/*vertical-align: top;*/
		/*vertical-align: middle;*/
		/*vertical-align: bottom;*/
	}
	</style>
</head>
<body>
	<div>
		<img src="images/tb.jpg" alt="">
	</div>
</body>
</html>

7. 溢位文字省略號

  1. 文字一行顯示
  2. 溢位隱藏
  3. 文字溢位省略號
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>07_溢位文字省略號.html</title>
	<style>
	* {
		margin: 0;
		padding: 0;
	}
	li {
		list-style: none;
	}
	li {
		width: 106px;
		height:50px;
		border: 1px solid red;
		/*white-space可以設定正常文字(亞洲文字和非亞洲文字)顯示方式,預設自動換行*/
		/*white-space: normal;*/
		/*1. 強制一行顯示*/
		white-space: nowrap;

		/*以下兩個是針對字母和數字,暫不探討*/
		/*https://www.ablanxue.com/prone_9320_1.html*/
		/*word-break: break-all;*/
		/*word-wrap: break-word;*/

		/*2. 溢位隱藏*/
		overflow: hidden;

		/*3. 文字溢位部分用省略號代替, 要和overflow:hidden搭配使用!*/
		text-overflow: ellipsis;
		/*預設*/
		/*text-overflow: clip;*/

		/*要實現溢位省略號顯示,以上三步皆要滿足
		1. 一行顯示
		2. 溢位隱藏
		3. 溢位省略號*/
	}
	</style>
</head>
<body>
	<!-- <ul> -->
		<li>文字顯示方式,預設自動換行文字顯示方式,預設自動換行文字顯示方式,預設自動換行</li>
		<!-- <li>sdafsvbdhfsdjsfshvbjdsihvbscshi</li> -->
	<!-- </ul> -->
</body>
</html>

8. sprite的使用

本質,是為了減少對伺服器的請求次數
形式,將多張小 背景 圖片合成一張大圖片
使用,計算好background-position

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>08_精靈圖使用.html</title>
	<style>
	h3 {
		width: 22px;
		height: 23px;
		/*精靈圖是為了減少對伺服器的請求,提高訪問速度
		一般是把多張小的 背景 圖片,合成一張大圖片使用*/
		/*取負值*/
		background: url(images/wzry.png) no-repeat -1px -107px;
	}
	span {
		display: inline-block;
		background: url(images/wzry.png) no-repeat;
	}
	.one {
		width: 22px;
		height: 25px;
		background-position: -1px -144px;
	}
	.two {
		width: 23px;
		height: 23px;
		background-position: -2px -186px;
	}
	</style>
</head>
<body>
	<h3></h3>
	<span class="one"></span>
	<span class="two"></span>
</body>
</html>

9. 微信滑動門

要理解透徹
a套span

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>09_微信滑動門.html</title>
	<style>
	* {
		margin: 0;
		padding: 0;
	}
	li {
		list-style: none;
	}

	body {
		background: url(images/wx-nav.jpg) repeat-x;
	}

	/*1. 左側圓角放a,不可指定寬度!*/
	.nav a {
		height: 33px;
		display: inline-block;
		background: url(images/wx-tu.png);
		text-decoration: none;
		line-height: 33px;
		color: #FFF;
		font-weight: 700;
		padding-left: 15px;
	}
	/*2. 右側圓角放span,不可指定寬度!*/
	.nav span {
		height: 33px;
		display: inline-block;
		background: url(images/wx-tu.png) right;
		padding-right: 15px;
	}
	/*.nav a:hover {     滑鼠經過a的時候,a的背景圖改變
		background-image: url(images/wx-ou.png);
	}
	.nav a:hover span {  滑鼠經過a的時候,a裡面的span背景圖改變
		background-image: url(images/wx-ou.png);*/
	.nav a:hover,
	.nav a:hover span {
		/*background: url(images/wx-ou.png);  如此就會出錯!!!因為預設沒有指定時,是repeat  left top*/
		background-image: url(images/wx-ou.png);
	}
	</style>
</head>
<body>
	<ul class="nav">
		<li>
			<a href="#">
				<span>首頁</span>
			</a>
			<a href="#">
				<span>使用指南</span>
			</a>
			<a href="#">
				<span>微信小程式</span>
			</a>
		</li>
	</ul>
</body>
</html>

HOME