jQuery Masonry构建pinterest网站布局注意要点(转)

news/2024/5/8 18:17:54/文章来源:https://blog.csdn.net/weixin_34342992/article/details/93529744

在愚人码头的博客上看到有关于如何构建pinterest网站的文章,其实就是“图片瀑布流显示”,我试着在本地做了一个,没有什么问题,但是放到公司的网站上就问题多多。一是定位不准确,二是图片显示不完整。但是重新改变下窗口大小,显示和位置都正常了,这说明第一次加载的时候,算的值不准,第一想到这个是加载顺序的问题。想了个土方法,在body里加了onload,确实解决了第一次加载页面显示的问题,点击显示更多图片的时候,出来的效果还是算错的,最后的解决办法是给每个图片加上宽高,因为图片都是从后来截取的,宽高都有数据。这个库的应用可以参照码头的:点击

然后我再自己写了一个根据屏幕宽度一行最多显示图片(web响应)且页面居中的脚本。demo点击这(改变你的窗口大小观察自适应看效果)

宽屏显示:

窄屏显示:

由上图对比可以看到,中间部分始终居中,但是会根据屏幕的大小判断一行最多显示多少张图片。让框架居中有多种方法,最常见的是添加 margin:0 auto;

因为我们要让整个屏幕显示至多张图,所以我只要求得屏幕至多能放下多少个图片后,剩下的数平均分给左右外边距,这样即能居中,例如:margin:10px auto

html代码:

<div class="container" style="margin:0 auto;"><div class="aside"></div><div class="photo_box"><div class="photo_img"><img src="1.jpg" alt="" width="" height="" /></div><div class="photo_img"><img src="2.jpg" alt="" width="" height="" /></div></div>...
</div>

js代码:

 $(document).ready($onresize = function(){var Winh = $(window).width(), Wimg = $(".photo_img").width() + 38,
Wsidebar = $(".aside").width() + 24;var mainWidth = Winh - Wsidebar;var imgBs = mainWidth % Wimg;  //imgBs为最多放下图片后剩下的余数var a = Math.floor( imgBs / 2); //余数平分即为外边距大小$(".container").css("margin-left", a );$(".container").css("margin-right", a );})$(window).bind("resize", $onresize);

ps:有一个很重要的问题,必须给html强制滚动条,否则,在某些显示器下,会出现切边的效果,其实是因为开始算屏幕宽度的时候,滚动条还没加载出来,宽度会算多一点,这样,这样左右的外边距大于实际边距,就发生了切边的效果。像这样:html{ overflow:scroll; }

这个想法就像是小时候做的数学题,一块多大面积的蛋糕,切成每份多大,最多能分给多少人,这里只是加了一个居中的条件。然后当浏览器改变大小的时候,也会重新加载一次,算一次。而图片的位移会使用Masonry.js这个库的动态效果,整个过程很流畅,如果网速不限制,显示的效果是非常好的。

再狠狠的点击这个看这个效果吧:demo点击这

转载于:https://www.cnblogs.com/xingmeng/p/3375829.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_742415.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA WEB教程】jsp环境搭建+部署网站(eclipse+tomcat)【详细+图文】

下载tomcat7.X下载地址为&#xff1a;http://tomcat.apache.org/download-70.cgi下载完成之后就开始安装NextI Agree选中所有的复选框输入你的用户名和密码注意&#xff1a;一定要选择JDK下面的JRE选择安装目录点击finish在eclipse中删掉原来默认的J2EE web服务器创建一个新的服…

通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全

编辑人员注释&#xff1a;本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写。 随着身份盗窃和各种形式的网络犯罪迅速增多&#xff0c;使用安全套接字层 (SSL) 对网站进行保护变得越来越重要和普遍。如果将网站托管在 Windows Azure 网站 (WAWS) 上&#xff0c;您可…

如何在Github网站仓库创建文件夹

首先要有一个已经建好的仓库&#xff0c;如这里我建了个pic仓库 点击Add file 再点Create new file 假设我要建立一个blog文件夹&#xff0c;只需要在填入blog后加上斜杠/即可 加上 / 自动转化为文件夹 滚动页面到最底下发现无法提交&#xff08;commit&#xff09;&#…

如何在Github网站仓库删除文件

比如删除如下test.png文件 点进去后即可发现右侧有一个很小的删除按钮&#xff08;找了好一会TVT 点击后commit changes即可

大型网站技术架构(一)大型网站架构演化

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书&#xff0c;就应该有所收获&#xff0c;有所总结&#xff0c;最近把《大型网站技术架构》一书给看完了&#xff0c;给人的印象实在深刻&#xff0c;再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…

一个网站故障排查的、代码更新的简便脚本

故障排错脚本由于近来公司的服务器经常会出点小问题&#xff0c;基于各种原因要去排错。这里我用python写了一个脚本&#xff0c;主要四调用os模块操作。有一个是要统计mysql最大连接数的。因为好像python不支持"show processlist"&#xff0c;所以自己写了一个模块m…

nofollow标签_网站seo优化nofollow的具体用法

一个人的资源是有限了&#xff0c;一个人的精力也是有限的&#xff0c;我们在优化的时候&#xff0c;要知道网站首页是一个网站权重最高&#xff0c;也是权重最集中的地方&#xff0c;这时候就需要进行权重之间的传递&#xff0c;就需要用到nofollow标签了&#xff0c;下面我们…

网站地图生成器_Mobirise for mac(网站创建开发) v4.10.7最新免费版

Mobirise mac是款高效的网站创建软件&#xff0c;Mobirise为您提供顶级工具栏和网站构建器面板&#xff0c;使您可以轻松地构建网站&#xff0c;且需无需编写任何代码。使用Mobirise只需几分钟就可以拖放块并构建网站&#xff0c;轻松创建响应式和移动优化的网站&#xff0c;欢…

网站管理助手4.0 mysql_会员管理--管理中心

一、创建站点软件界面如图&#xff1a;点击“创建站点”&#xff0c;如图&#xff1a;站点名称&#xff1a;填写一个FTP账号&#xff0c;可以是英文(建议小写)和数字的组合FTP密码&#xff1a;建议保持默认或自己设定一个容易记住但比较复杂的密码&#xff0c;切勿用FTP账号做密…

mysql爆破字典_又一神器!万能网站密码爆破工具

在Web渗透测试中有一个关键的测试项&#xff1a;密码爆破。目前越来越多的网站系统在登录接口中加入各式各样的加密算法&#xff0c;依赖于BurpSuite中的那些编码方式、Hash算法已经远远不够&#xff0c;这里给大家介绍一款支持AES/RSA/DES(即将支持)加密算法&#xff0c;甚至可…

jmh气象传真图网站_干货~葵花气象卫星影像自动下载转桌面(天天都是上帝视角)...

天天看着你们可爱的桌面腻不腻&#xff1f;天天看Windows推送的桌面腻不腻&#xff1f;天天对着动漫diss腻不腻&#xff1f;给你们推一个新视角~从天上往下看&#xff01;偶尔对着台风可以说一声&#xff1a;你diss我&#xff0c;我看着你&#xff01;先合成一张酷酷的气象云图…

seo网站自动发布链接工具_常用的SEO网站分析工具

步入外贸旺季&#xff0c;为了发挥数码营销的最大优势&#xff0c;今天小编为您介绍几种常用的 SEO网站分析工具。1. Open SEO Stats在当前页面上显示排名和 SEO统计&#xff0c;主要包括外链&#xff0c;索引&#xff0c;缓存&#xff0c;等等。该软件可以帮助识别站点内的 SE…

OpenCart高级搜索引擎优化(SEO PACK PRO)

2019独角兽企业重金招聘Python工程师标准>>> OPENCART高级搜索引擎优化(SEO PACK PRO) 是时候将您的网站进行高级搜索引擎优化了&#xff01;Opencart高级搜索引擎优化( SEO PACK PRO)扩充功能包含所所有有关 Opencart SEO 搜索引擎的相关扩充功能&#xff1a;1. Ke…

android 怎么实现手机网站支付_PHP实现手机网站支付(兼容微信浏览器)

php中文网最新课程每日17点准时技术干货分享网上的很多PHP支付宝支付接入教程都颇为复杂&#xff0c;且需要配置和引入较多的文件&#xff0c;本人通过整理后给出一个单文件版的&#xff0c;希望可以给各位想接入支付宝支付的带来些许帮助和借鉴意义。一个PHP文件搞定支付宝系列…

a.diguo.in click.php,帝国cms网站管理系统V4.7 DIGG的实现(顶踩实现)

前言&#xff1a;DIGG顶及踩踏可以实现用户之间的信息交流互动。实现要点&#xff1a;系统本身就内置了digg的功能&#xff0c;只是没有在数据表中直接内置digg字段&#xff0c;所以我们只需增加digg的字段就可以实现顶与踩踏的功能。(为什么不内置所有会使用到的字段呢?主要是…

java stie:baiducom_网站资源快速收录----百度API提交Java版,百度API网站资源提交小程序版...

API提交什么是API推送最为快速的提交方式&#xff0c;建议您将站点当天新产出链接立即通过此方式推送给百度&#xff0c;以保证新链接可以及时被百度收录。API推送的优点及时发现&#xff1a; 可以缩短百度爬虫发现您站点新链接的时间&#xff0c;使新发布的页面可以在第一时间…

MVC5 网站开发之六 管理员 1、登录、验证和注销

上次业务逻辑和展示层的架构都写了&#xff0c;可以开始进行具体功能的实现&#xff0c;这次先实现管理员的登录、验证和注销功能。 目录 奔跑吧&#xff0c;代码小哥&#xff01; MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现…

IIS管理器如何添加网站

IIS服务器一些步骤 安装好iis后右击网站按钮点击添加网站网站名称填写无所谓&#xff0c;物理路径&#xff08;注意是大路径&#xff0c;一个项目所有的文件在那个文件夹下&#xff09;&#xff0c;Ip地址自己定义最好是hosts文件已经绑定了域名的&#xff0c;这样容易记&#…

从零开始用 Flask 搭建一个网站(一)

2019独角兽企业重金招聘Python工程师标准>>> 前言 笔者之前未接触过 Python&#xff0c;只是略懂一点前端&#xff0c;所以说从零开始也相差无几吧。Flask 是一个轻量级的基于 Python 的框架&#xff0c;但是扩展性非常良好&#xff08;Github 上 22000 多个 star 就…

在RHEL、CentOS上安装建站神器Drupal 8

2019独角兽企业重金招聘Python工程师标准>>> Drupal 是一个开源&#xff0c;灵活&#xff0c;高度可拓展和安全的内容管理系统Content Management System(CMS)&#xff0c;使用户轻松的创建网站。 它可以使用模块拓展&#xff0c;使用户将内容管理转换为强大的数字解…