您现在的位置是:网站首页> 编程资料编程资料
HTML利用九宫格原理进行网页布局吃透移动端 Html5 响应式布局详解html5页面 rem 布局适配方法HTML+CSS实现单列布局水平居中布局html5 div布局与table布局详解HTML使用栅格布局实现六种筛子样式的代码详解
2023-10-11
285人已围观
简介 这篇文章主要介绍了HTML利用九宫格原理进行网页布局,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
前言
说到九宫格是不是想到了九宫格火锅那(O(∩_∩)O哈哈~)。其实九宫格布局在各大网站基本都有应用,当然这里的九宫格是泛指(O(∩_∩)O哈哈)。比如小米商城局部布局如下:
不难发现,一些电商平台的布局基本上大同小异,最普遍的还是这种九宫格布局。当然通过CSS也可以对其单独设置定位,但是数据量小还好说,如果数据量多起来,计算麻烦不说,还有可能影响布局。下面我们来说一下九宫格布局的原理。
原理(小白也能看懂)
上图是一个九宫格示意图,现在我们把它想象到一个网页中(想象不到就看上图图片~~),在网页中这个布局由最外层绿色的大的div标签包裹,在绿色的div标签中有许多蓝色的小的div标签作为绿色div标签的子级元素组成,这样简单的嵌套就完成了。由于我们的目标元素是蓝色的小div,那么我们无可避免的要对其设置盒子大小,以及外边距等等。但是我们操作的对象就是盒子的大小+外边距(也就是上图中红色框选的区域)。
具体流程如下:
我们先获取到蓝盒子以及其周围整体的大小,假设上图红框的大小是200px * 200px
这些盒子就要牵扯到绝对定位和相对定位:绿色的盒子是相对定位,里面的蓝盒子是绝对定位(即子绝父相)如果不明白那么请访问CSS定位子绝父相
我们想象把上面的九宫格放进 [3][3] 的二维数组中。此时第一个方框位于数组的 [0] [0] 位置,他的位置在绿色的div中就是(0×200px,0×200px),即top = 0px,left = 0px;其右面方框在二维数组的位置是 [0][1](0×200px,1×200px)即top = 0px;,left = 200px;其下面方框在二维数组的位置是 [1][0](1×200px,0×200px)即top = 200px,left = 0px。以此类推就可以都得到所有子级元素的位置了。
代码实现
先看效果截图
在我点击上方按钮时可以实现不同列数的展现。
以下是JS代码
window.onload = function () { // 实现九宫格 var btns = $('.btnall button');//获取所有的按钮 var photos = $('.photoall div.photo');//获取所有的子块 //实现九宫格具体带参方法,allcols代表想要的列数。 function Event(allcols){ //盒子的宽长和外边距 var w = 250, h = 390, margin = 10; for(var i = 0; i < photos.length; i++){ //方法的核心 var row = parseInt(i / allcols); var col = parseInt(i % allcols); //具体位置的运行 var top = row * (h + margin) + 'px'; var left = col * (w + margin) + 'px'; //设置位置 photos[i].style.position = 'absolute'; photos[i].style.left = left; photos[i].style.top = top; } } //为各个按钮设置监听事件 btns[0].onclick = function (){ Event(3); }; btns[1].onclick = function (){ Event(4); }; btns[2].onclick = function (){ Event(5); }; }
到此这篇关于HTML利用九宫格原理进行网页布局的文章就介绍到这了,更多相关HTML九宫格布局内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- html5默认气泡修改的代码详解html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- canvas如何实现多张图片编辑的图片编辑器html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- HTML5表单验证特性(知识点小结)wordpress添加Html5的表单验证required方法小结HTML如何对齐多个表单中的文本框的实现html表单控件禁用属性readonly VS disabled介绍html中表单提交的实现HTML通过表单实现酒店筛选功能
- html5 datalist 选中option选项后的触发事件Html5新标签datalist实现输入框与后台数据库数据的动态匹配html5 datalist标签使用示例(自动完成组件)HTML5 的新的表单元素(datalist/keygen/output)使用介绍
- 关于解决iframe标签嵌套问题的解决方法div嵌套html不用iframeiframe 多层嵌套 无限嵌套 高度自适应的解决方案
- Html5 video标签视频的最佳实践html5用video标签流式加载的实现html5自定义video标签的海报与播放按钮功能html5视频媒体标签video的使用方法及完整参数说明详解详解Html5中video标签那些属性和方法解决html5中的video标签ios系统中无法播放使用的问题
- HTML如何让IMG自动适应DIV容器大小的实现方法HTML中img标签只显示图片中心位置的方法(三种方法)详解HTML/XHTML中img图像标签的基本用法在html的img src=""中调用js函数或js变量来动态指定图片路径HTMLimg标签的alt属性和title属性使用介绍解决html 图片img加超链接后产生难看的蓝色边框问题
- HTML实现代码雨源码及效果示例使用canvas实现黑客帝国数字雨效果CSS实现雨滴动画效果的实例代码纯CSS流星雨背景的示例代码使用纯CSS实现动态晴阴雨雪(单标签)CSS 、JS实现浪漫流星雨动画canvas实现漂亮的下雨效果的示例Canvas制作的下雨动画的示例HTML5实现晶莹剔透的雨滴特效HTML5梦幻之旅——炫丽的流星雨效果实现过程用Dreamweaver实现网页上漫天花雨效果的方法
- 使用placeholder属性设置input文本框的提示信息HTML5 placeholder属性详解让IE下支持Html5的placeholder属性的插件ie placeholder属性的兼容性问题解决方法HTML 5 input placeholder 属性如何完美兼任ieHTML5 placeholder(空白提示)属性介绍限制html文本框input只能输入数字和小数点使一个input文本框随其中内容而变化长度的方法
- 100floors电梯 第56层 图文攻略_手机游戏_游戏攻略_