css圆角图片一直都是一个烦人的问题.
虽说css3被广泛支持后这个问题就不存在了.可谁知道要等到那一年.因此目前一个好的解决方案还是很有实际意义的.
网上解决的方法已经很多.我都不是很满意.
本来我以前也写过一个金字塔结构的方案,不过现在看来我同样也不满意,原因:图片太大.
今天我再次想找到一个新的解决方案,仔细看了一篇
一张背景实现自适应九宫格
其实我最早看到这个方法的时候,记得是老外写的,当时就觉得图片处理太复杂就没有考虑.
今天仔细看了他的结构发现,里面有一个很强的技巧,就是通过重叠错位的方法补齐平铺的图片空缺(说起来绕嘴,看结构和css就明白了).
我就想,能不能
用这个技巧,把图片处理简单些
,而且原文中用了绝对定位,这种方法在某些时候会让情况变得更复杂.能不能用content自动的把平铺部分撑起来
.
经过一个下午的实验终于成功了(从某种意义上说应该是九宫文的简化版)
当然要做渐变的图片的话也是没有问题的,关于那些偏移量的计算公式就不写了,很容易看懂,另外就是这个应该可以和js配合做一个方便的设置偏移量的函数,回头再写吧.
代码如下:
关键点
:给content设置一个背景色,当然设置背景图片也可以了.理论上既然边框都是图片的了,
content背景没有理由是透明的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<title>一幅图片自适应尺寸CSS方案</title>
<style>
.mesh1,.mesh2,.mesh3,
.mesh4,.mesh6,
.mesh7,.mesh8,.mesh9{
background-attachment:scroll;
background-color:transparent;
background-position:0 0;
overflow:hidden;
}
.mesh1,.mesh7{float:left;_margin-right:-3px;}/*处理IE6的3像素BUGF*/
.mesh3,.mesh9{float:right;_margin-left:-3px;}
.mesh1,.mesh3,.mesh7,.mesh9{background-repeat:no-repeat;}
.mesh4,.mesh6{background-repeat:repeat-y;}
.mesh2,.mesh8{background-repeat:repeat-x;}
.meshborder .content{background-color:white;}/*关键点*/
/*下面的设置就看你的图片内容了*/
.skin1 .mesh1,.skin1 .mesh2,.skin1 .mesh3,
.skin1 .mesh4,.skin1 .mesh6,
.skin1 .mesh7,.skin1 .mesh8,.skin1 .mesh9{
background-image:url(skin.png);/*这里是图片地址*/
_background-image:url(skin.gif);/*为了兼容IE6做的GIF*/
}
.skin1 .mesh1{
background-position:-9px -9px;
height:9px;
width:9px;
}
.skin1 .mesh2{
height:9px;
}
.skin1 .mesh2 .mesh2{
background-position:18px 0px;
}
.skin1 .mesh3{
background-position:-18px -9px;
height:9px;
width:9px;
}
.skin1 .mesh7{
background-position:-9px -18px;
height:9px;
width:9px;
}
.skin1 .mesh8{
background-position:0px -27px;
height:9px;
}
.skin1 .mesh8 .mesh8{
background-position:18px -27px;
}
.skin1 .mesh9{
background-position:-18px -18px;
height:9px;
width:9px;
}
.skin1 .mesh4{
padding-left:9px;
}
.skin1 .mesh4 .mesh4{
background-position:0px -18px;
margin-left:-9px;
}
.skin1 .mesh6{
background-position:right 0;
padding-right:9px;
}
.skin1 .mesh6 .mesh6{
background-position:right -18px;
margin-right:-9px;
}
</style>
</head>
<body>
<div class="meshborder skin1">
<div class="mesh1"></div>
<div class="mesh3"></div>
<div class="mesh2">
<div class="mesh2"></div>
</div>
<div class="mesh4">
<div class="mesh4">
<div class="mesh6">
<div class="mesh6">
<div id="login" class="content">
可以自适应尺寸啦<br>
可以自适应尺寸啦<br>
可以自适应尺寸啦<br>
</div>
</div>
</div>
</div>
</div>
<div class="mesh7"></div>
<div class="mesh9"></div>
<div class="mesh8"><div class="mesh8"></div></div>
</div>
</body>
</html>
- 大小: 282 Bytes
分享到:
相关推荐
CSS自适应宽度圆角按钮 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html <head> <meta ...
圆角按钮宽度自适应 自适应宽度的CSS圆角背景的按钮
CSS3漂亮的圆角自适应长度按钮特效,按钮可跟随文字数量的多少自动适应宽度。
CSS3自适应文字的圆角滚动菜单特效,CSS3 jQuery结合实现,这里的圆角是指图片的边框修饰成了圆角,看上去很不错的图文菜单,响应鼠标滚动的功能,从操作体验上来说,十分舒服,也很灵敏,滚动幅度掌握的相当好,...
纯CSS圆角自适应宽度的导航菜单,水平布局的网站菜单,这个菜单的亮点有两个:1、圆角,2、宽度自适应。不管各个菜单项的菜单文字有多长,该项菜单的背景始终自动适合这种变化,完美的宽度自适应特效,值得推荐。
这是一款JS+CSS打造自适应宽度的圆角滑动门,这里的圆角主要是靠一张背景图片去实现,所指的宽度是滑动门上的导航的宽度,不管文字有多少,它都会一直顺着下去,不会被内容所撑破,兼容性方面,兼容IE6/7/8,火狐未试...
css边框背景阴影 DIV自适应宽度 背景色渐变、透明 多行自适应浏览器高度 圆角div 固定高度div,随内容自动变高css定义方法等等
css 背景图片圆角 文字自适应.doc css实现图片自适应.doc 单张背景图片实现css圆角菜单.doc
个性圆角CSS模板_个性 圆角 jquery 简单_html网站模板_网页源码移动端前端_H5模板_自适应响应式源码.rar
主要为大家介绍了CSS基于单张背景图实现自适应宽度的圆角菜单效果代码,基于css实现自适应宽度的圆角菜单效果,非常简单实用,需要的朋友可以参考下
可变高宽的圆角框,html+css!圆角技术
所用到的图片: <style type=”text/css”> body,p,div {margin:0;padding:0;} .Box {margin:10px auto;width:500px;} /*淘宝的圆角方法*/ .R-1-T,.R-1-B {height:6px;position:relative;background-image:url...
商务企业网站CSS模板10_蓝色 企业 商务 圆角 简单_html网站模板_网页源码移动端前端_H5模板_自适应响应式.rar
利用CSS的Expression自定义属性来实现表格的OnMouseOver 特效 需要掌握的八个CSS布局技巧 用css实现链接经过时显示浮动图片背景的效果 自适应大小的CSS圆角盒子 div+css实现Firefox和IE6兼容的垂直居中...
圆角背景高度自适应: 复制代码代码如下: <style type=”text/css”> body,div,p,h2{ margin:0; padding:0;} div{width:262px; margin:100px auto 0; background:url(images/hua1.png) right bottom no-repeat...
商务企业网站CSS模板56_商务 企业 蓝色 导航 圆角_html网站模板_网页源码移动端前端_H5模板_自适应响应式.rar
商务企业网站CSS模板57_商务 企业 蓝色 黑色 圆角_html网站模板_网页源码移动端前端_H5模板_自适应响应式.rar