background-image实现border效果及多图png如何实现background-size为原图一半

毛主席说过:三日不学习,赶不上刘少奇。

近两月疯赶项目,做得快要吐了,今日才有空浏览一下他人网站,收益良多,解决了我一直以来以为颇为棘手的两大难题。

一、background-image实现border效果

为何要这么费事?不直接用border呢?这是因为手机首页经常用九宫格来排列图片菜单,一般都是用百分比来平均分配每个格子的大小,如果格子再多1px的border,就会非常尴尬不好处理。

background-image的特点是占据元素整个尺寸,包括内边距和边框。

示例:

  1. background-image: linear-gradient(to left, transparent 0%, transparent 50%, #d9d9d9 50%, #d9d9d9 100%);
  2. -webkit-background-size: 1px 100%;
  3. background-size: 1px 100%;
  4. background-repeat: repeat-y !important;

也挺麻烦的,但也不失为解决问题的办法,列出以供扩展思路。

二、多图png如何实现background-size为原图一半

一般网站习惯将所有icon图标放到一张png格式的图里,一来是多icon的文件与单个icon的文件大小相差不大,可以更节省空间,另外就是便于加载。

但我之前在做手机网站的时候,因为图片的实际大小是放进去的图的两倍,这样可以实现高清效果,但是图片都放在一个文件的时候,用background-size总是不成功,只好分离成单独的文件来控制。现在参考别人的网站,发现别人实现了:

方法一:

整体:

.main-enter span, .knowlage i {

  1. background: url("http://img.to8to.com/wap/v2/m3icon.png") no-repeat;
  2. width: 50px;
  3. height: 51px;
  4. background-size: 50px; }

具体的图标只需设置background-position:

.main-enter span.icon-zxgl-enter {

background-position: 0 -58px;

}

方法二、

  1. background: url(http://img.to8to.com/wap/v2/icon-se174a62dfa.png?v=20150515) no-repeat;
  2. background-size: 187.5px 1087px;

直接对整张图进行压缩(图片原大小为375*2174)

具体该如何使用还需实际运用中试验。

另外还有以下一些值得学习的地方:

1.百度移动搜索协助适配PC与wap的标签:

<meta name="mobile-agent" content="format=html5;url=http://m.to8to.com/hz">

加上这一条,通过手机百度搜索时会自动导航到手机网站

2.主功能区用section标签

3.各部分代码块加上注释

4.canonical标签用来解决由于网址形式不同内容相同而造成的内容重复问题

<link rel="canonical" href="http://hz.to8to.com/">

参考网站:土巴兔

http://hz.to8to.com/

http://m.to8to.com/hz

时间: 2024-08-10 15:07:19

background-image实现border效果及多图png如何实现background-size为原图一半的相关文章

【前端】javascript+jQuery实现旋转木马效果轮播图slider

实现效果: 实现原理: 技术栈: javascript+jQuery+html+css 实现步骤: // 0. 获取元素 // 1. 鼠标放置到轮播图上,显示两侧的控制按钮,移开后隐藏 // 2. 为两侧控制按钮绑定事件(调用同一个方法,只有一个参数,true为正向旋转,false为反向旋转) 实现代码: <!DOCTYPE html> <html> <head> <title>旋转木马效果轮播图</title> <meta charset

轮播图---左右切换无长滚动效果轮播图-中级难度版

左右切换无长滚动轮播图思路:首先设有全局变量position(确定当前图片是第几张),arr数组:存放图片地址,方向:direction, 及lis小圆点数组,prev,记录小圆点的前一个, moveBool是否进入运动函数等1.点击事件:点击左边的leftBn,设置direction="right",position--,在这要确定position不能超出数组长度范围, 超出要重新赋值,点击小圆点把小圆点的当前是lis数组中的第几个赋值给position,然后图片生成2.图片生成:图

基于jquery多种切换效果的焦点图(兼容ie6)

随着html5和css3的诞生.各种非常酷.非常炫的网页焦点图在各个前端技术网上满天飞.基于html5和css3技术的焦点图有一个弊端就是要在ie9以上才支持.这让需兼容ie6到ie8的页面又爱又恨.下面为大家介绍一款完全基于juery的焦点图,而且这款插件完美支持ie6,多种百叶窗切换,效果还是相当赏目的.无图无真相,还是先上图 点击这里在线预览 点击这里下载源码 使用教程 这款插件代码很简洁,使用也非常简单.看截图 ok.今天就和大家分享到这里.周末好快,作为一名码农真是苦逼,明天还要早起,

基于jquery多种切换效果的焦点图(兼容ie6)

这款插件代码很简洁,使用也非常简单.看截图 转载来源地址:http://www.cnblogs.com/liaohuolin/articles/3918144.html 基于jquery多种切换效果的焦点图(兼容ie6)

CSS3,3D效果轮播图

---恢复内容开始--- 大家还记得我昨天的3D拖拽立方体吗??我昨天还说过css还可以做轮播图,所以咱们今天就写一下,css的轮播图吧! ....这个轮播图主要是用CSS3里的transform的旋转属性来完成3D效果的,然后配合原生js的显示隐藏,达到了3D旋转轮播图的效果: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/ht

jQuery淡入淡出效果轮播图

用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div. html结构如下: <div id="container"> <ul class="pic"> <li><a href="javascript:;"><img src="DSC01627.jpg"

js小效果-轮播图

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; list-style: none; } #wrap{ width:500px; height:260px; margin:50px auto; position:r

hover时border效果原理

1. 从中间往两边散发:父元素设置相对定位:子元素设置绝对定位:设置子元素高度(有值)和设置宽度(0)来确定上下border.置子元素高度(0)和设置宽度(有值)来确定左右border. <li>    <i class="before"></i>    <i class="after"></i> </li> li { position: relative; } i.before { displ

css的border效果

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <style type="text/css"> 7 div{width: 100px;height: 100px;margin-top:50px; display: inli