CSS 滑动门

CSS滑动门技术常用于网页元素的特殊背景造型,适应不同文本内容长度。核心是CSS精灵和padding,实现背景自由拉伸。微信导航栏是典型应用场景。此外,文章还探讨了before和after伪元素的详细用法以及CSS3过渡效果。
摘要由CSDN通过智能技术生成

先来体会下现实中的滑动门,或者你可以叫做推拉门:
在这里插入图片描述

滑动门出现的背景

制作网页时,为了美观,常常需要为网页元素设置特殊形状的背景,比如微信导航栏,有凸起和凹下去的感觉,最大的问题是里面的字数不一样多,咋办?
在这里插入图片描述

为了使各种特殊形状的背景能够自适应元素中文本内容的多少,出现了CSS滑动门技术。它从新的角度构建页面,使各种特殊形状的背景能够自由拉伸滑动,以适应元素内部的文本内容,可用性更强。 最常见于各种导航栏的滑动门。

核心技术

核心技术就是利用CSS精灵(主要是背景位置)和盒子padding撑开宽度, 以便能适应不同字数的导航栏。
一般的经典布局都是这样的:

<li>
  <a href="#">
    <span>导航栏内容</span>
  </a>
</li>

总结:

1.a 设置 背景左侧,padding撑开合适宽度。
2.span 设置背景右侧, padding撑开合适宽度 剩下由文字继续撑开宽度。
3.之所以a包含span就是因为 整个导航都是可以点击的。
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>滑动门实现原理</title>
	<style>
	 * {
    
	 	margin: 0;
	 	padding: 0;
	 }
	 div {
    
	 	/* background-color: #515151; */
	 }
	 a {
    
	 	display: inline-block;
	 	height: 33px; /* 宽度不能给 写死宽度是不对的  我们要推拉门*/
	 	background: url(images/ao.png) no-repeat;
	 	padding-left: 15px;
	 	margin: 100px;
	 	color: #fff;
	 	text-decoration: none;
	 	line-height: 33px;
	 }
	 a span {
    
	 	display: inline-block;
	 	height: 33px;
	 	background: url(images/ao.png) no-repeat right;
	 	/* span 不能给宽度 利用padding 挤开 要span 右边的圆角 背景位置 右对齐 */
	 	padding-right: 15px;
	 }
	</style>
</head>
<body>
	<div>
	    <a href="#">
	        <span>首页</span>
	    </a>
	    <a href="#">
	        <span>二维码</span>
	    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值