web前端学习(三十)——CSS3图像透明/不透明、拼合技术的相关设置

1.CSS图像透明度

CSS3中属性的透明度是 opacity

在这种情况下,当用户将鼠标悬停在图像上时,我们希望图片是清晰的。

此CSS是:opacity=1。当鼠标指针远离图像时,图像将重新具有透明度。

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			img {
				opacity: 0.4;
				/*filter: alpha(opacity=40);*/
			}
			img:hover {
				opacity: 1.0;
				/*filter: alpha(opacity=100);*/
			}
		</style>
	</head>
	
	<body>
		<h1>图片透明度</h1>
		<p>opacity 属性通常与 :hover 选择器一起使用,在鼠标移动到图片上后改变图片的透明度:</p>
		<img src="img/images/tx.jpg" width="150" height="150" alt="表情图" />
		<img src="img/images/hetao.jpg" width="150" height="150" alt="核桃图" />
	</body>
</html>


2.在透明图像中添加文本

首先,我们创建一个固定的高度和宽度的div元素,带有一个背景图片和边框。然后我们在第一个div内部创建一个较小的div元素。 这个div也有一个固定的宽度,背景颜色,边框 - 而且它是透明的。透明的div里面,我们在P元素内部添加一些文本。 

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			div.background {
				width: 500px;
				height: 250px;
				border: 2px solid black;
				background: url(img/images/tx.jpg) repeat;
			}
			div.transbox {
				width: 400px;
				height: 180px;
				border: 1px solid black;
				margin: 30px 50px;
				background-color: #FFFFFF;
				opacity: 0.6;
				/*filter: alpha(opacity=60);*/
			}
			div.transbox p {
				margin: 30px 40px;
				font-weight: bold;
				color: #000000;
			}
		</style>
	</head>
	
	<body>
		<div class="background">
			<div class="transbox">
				<p>
					这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。这些文本在透明框里。
				</p>
			</div>
		</div>
	</body>
</html>


3.CSS图像拼合技术

3.1 实例一 

实例解析:

  • #navlist{position:relative;} - 位置设置相对定位,让里面的绝对定位
  • #navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;} - margin和padding设置为0,列表样式被删除,所有列表项是绝对定位
  • #navlist li, #navlist a{height:44px;display:block;} - 所有图像的高度是44px

现在开始每个具体部分的定位和样式:

  • #home{left:0px;width:46px;} - 定位到最左边的方式,以及图像的宽度是46px
  • #home{background:url(img/images/tv01.jpg) 0 0;} - 定义背景图像和它的位置(左0px,顶部0px)
  • #prev{left:63px;width:43px;} - 右侧定位63px(#home宽46px+项目之间的一些多余的空间),宽度为43px。
  • #prev{background:url(img/images/tv03.jpg) -47px 0;} - 定义背景图像右侧47px(#home宽46px+分隔线的1px)
  • #next{left:129px;width:43px;}- 右边定位129px(#prev 63px + #prev宽是43px + 剩余的空间), 宽度是43px.
  • #next{background:url(img/images/tv05.jpg) no-repeat -91px 0;} - 定义背景图像右边91px(#home 46px+1px的分割线+#prev宽43px+1px的分隔线)
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			#navlist {
				position: relative;
			}
			#navlist li {
				position: absolute;
				margin: 0;
				padding: 0;
				top: 0;
				list-style: none;
			}
			#navlist li,#navlist a {
				display: block;
				height: 44px;
			}
			#home {
				left: 0;
				width: 46px;
				background: url(img/images/tv01.jpg) 0 0;
			}
			#prev {
				left: 63px;
				width: 43px;
				background: url(img/images/tv03.jpg) -47px 0;
			}
			#next {
				left: 129px;
				width: 43px;
				background: url(img/images/tv05.jpg) -91px 0;
			}
		</style>
	</head>
	
	<body>
		<ul id="navlist">
			<li id="home"><a href="https://www.baidu.com"></a></li>
			<li id="prev"><a href="https://www.tencent.com"></a></li>
			<li id="next"><a href="https://www.huawei.com"></a></li>
		</ul>
	</body>
</html>

3.2 实例二

实例解析:

  • 由于该列表项包含一个链接,我们可以使用:hover伪类。
  • #home a:hover{background: transparent url(img_navsprites_hover.gif) 0 -45px;} - 对于所有三个悬停图像,我们指定相同的背景位置,只是每个再向下45px。
:hover 选择器用于鼠标悬停在元素上的显示的效果
提示: :hover 选择器可以运用于所有元素。
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			#navlist {
				position: relative;
			}
			#navlist li {
				position: absolute;
				margin: 0;
				padding: 0;
				top: 0;
				list-style: none;
			}
			#navlist li,#navlist a {
				display: block;
				height: 44px;
			}
			#home {
				left: 0;
				width: 46px;
				background: url(img/images/tv01.jpg) 0 0;
			}
			#home {
				background: url(img/images/tv01.jpg) 0 0;
			}
			#home a:hover{
				background: url(img/images/tv01.jpg) 0 -45px;
			}
			#prev {
				left: 63px;
				width: 46px;
				background: url(img/images/tv03.jpg) -47px 0;
			}
			#prev {
				background: url(img/images/tv03.jpg) -47px 0;
			}
			#prev a:hover{
				background: url(img/images/tv03.jpg) -47px -45px;
			}
			#next {
				left: 129px;
				width: 46px;
				background: url(img/images/tv05.jpg) -91px 0;
			}
			#next {
				background: url(img/images/tv05.jpg) -91px 0;
			}
			#next a:hover{
				background: url(img/images/tv05.jpg) -91px -45px;
			}
		</style>
	</head>
	
	<body>
		<ul id="navlist">
			<li id="home"><a href="https://www.baidu.com"></a></li>
			<li id="prev"><a href="https://www.tencent.com"></a></li>
			<li id="next"><a href="https://www.huawei.com"></a></li>
		</ul>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_43823808/article/details/113779649