使用 FocusPoint.js 实现图片的响应式裁剪

  通常网站的布局都不是单一的。例如图像在电脑、平板和智能手机上可能显示的形状是不同的。特别是如果你使用的是全屏图像,在你必须使用相同的图像文件的情况下,你的主题可能会被截断或完全缺失,或者看起来很尴尬。

  FocusPoint 这款 jQuery 插件可以确保你的图像中的任何容器看起来都很棒,它提出了“响应裁剪”的概念,确保你的图片的重要组成部分被裁剪出来,动态图像裁剪以填充可用空间又不会裁剪掉图像的主题部分。

效果演示      源码下载

使用方法:

1. 计算图片的聚焦点

图像的聚焦点是由X(水平)和Y(垂直)坐标组成。坐标值可以是一个在-1到+1范围内的任意数字,其中0为中心。 x:-1表示的图像左边界,x:1是图像的右边界。对于Y轴,y:1是图像的上边界,y:1是图像的下边界。

困惑了? Don‘t worry, 没关系,在这里有一个方便的脚本,可以获取图片的坐标:点击查看

2. 在页面引入 JS 和 CSS

你需要在页面中引入 jQuery,FocusPoint 脚本和样式文件:

<link rel="stylesheet" href="focuspoint.css">
<script src="jquery.js"></script>
<script src="focuspoint.js"></script>

3. 标记图片容器

指定的图像尺寸和图像容器聚焦点坐标。注:我知道这不是真的应该需要指定的图像尺寸,但我发现这比从图像读取尺寸更可靠。例如:

<div class="focuspoint"
data-focus-x="0.331"
data-focus-y="-0.224"
data-image-w="400"
data-image-h="300">
    <img src="image.jpg"  />
</div>

4. 调用 FocusPoint 插件

基本的调用,只需要一行代码:

$(‘.focuspoint‘).focusPoint();

目前,可用的配置选项不是很多,但是如果你想在窗口大小变化的时候防止图像被重新聚焦,可以像这样:

$(‘.focuspoint‘).focusPoint({
    reCalcOnWindowResize : false
});

在任何时候,你都可以调用 adjustFocus 来重新聚焦图像:

$(‘.focuspoint‘).adjustFocus()

效果演示      GitHub主页

您可能感兴趣的相关文章

本文链接:FocusPoint.js – 实现图片响应式裁剪 jQuery 插件

编译来源:梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源

本文出处【http://www.cnblogs.com/lhb25/

时间: 2024-12-09 16:54:49

使用 FocusPoint.js 实现图片的响应式裁剪的相关文章

吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:响应式图片

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"

Strip JS – 低侵入,响应式的 Lightbox 效果

Strip  是一个灯箱效果插件,显示的时候只会覆盖部分的页面,这使得侵扰程度较低,并留出了空间与页面上的大屏幕,同时给予小型移动设备上的经典灯箱体验.Strp JS 基于 jQuery 库实现,支持所有主流浏览器. 效果演示      立即下载 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQuery 动画插件 十分惊艳的8个 HTML5 &

bootstrap 学习笔记(5)---- 图片和响应式工具

(一)响应式图片: 在 Bootstrap 版本 3 中,通过为图片添加 .img-responsive 类可以让图片支持响应式布局.其实质是为图片设置了 max-width: 100%;. height: auto; 和 display: block; 属性,从而让图片在其父元素中更好的缩放. 注意:如果需要让使用了 .img-responsive 类的图片水平居中,请使用 .center-block 类,不要用 .text-center 代码:<img src="..." c

bootstrap 图片:响应式与外形样式

响应式是指一个网站能兼容多个终端,响应式图片即是,图片大小能自适应屏幕(比例不变) <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewpo

JS和CSS实现响应式

一.CSS实现响应式 CSS响应式的实现主要依赖于CSS媒体查询: 媒体查询包含一个可选的媒体类型和零或多个表达式来限制使用媒体特性的样式表范围,例如:width,height,color.CSS3中的Media queries让内容的呈现可以只针对特定范围的输出设备而不必去改变内容本身.即通过媒体查询判断屏幕宽度,加载不同的CSS样式表 代码如下:注意一定要有一个默认样式表不加媒体查询,否则在IE8中访问时会没有样式表. <head> <meta charset="UTF-8

Vue.js学习 Item12 – 内部响应式原理探究

深入响应式原理 大部分的基础内容我们已经讲到了,现在讲点底层内容.Vue.js 最显著的一个功能是响应系统 —— 模型只是普通对象,修改它则更新视图.这让状态管理非常简单且直观,不过理解它的原理也很重要,可以避免一些常见问题.下面我们开始深挖 Vue.js 响应系统的底层细节. 如何追踪变化 把一个普通对象传给 Vue 实例作为它的 data 选项,Vue.js 将遍历它的属性,用 Object.defineProperty 将它们转为 getter/setter.这是 ES5 特性,不能打补丁

图片响应式排列

图片的响应式排列(此处用四分图做例) 四分图的大体可分为: 类别一: 类别二: 最终响应式效果为: ---------------------------------------- 此处用bootstrap框架 ---------------------------------------- 直接引用: 1 <link rel="stylesheet" href="https://cdn.static.runoob.com/libs/bootstrap/3.3.7/cs

bootstrap-内联表单 水平(横向)表单 响应式图片 辅助类 [转]

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <!--媒体查询--> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- 为了确保适当的绘制和触屏缩放,需要在 <head> 之中添加 viewp

吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:图片响应式 (将很好地扩展到父元素)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"