首页前端开发HTMLHTML利用九宫格原理进行网页布局

HTML利用九宫格原理进行网页布局

时间2024-01-25 03:31:13发布访客分类HTML浏览865
导读:收集整理的这篇文章主要介绍了HTML利用九宫格原理进行网页布局,觉得挺不错的,现在分享给大家,也给大家做个参考。 前言说到九宫格是不是想到了九宫格火锅那(O(∩_∩ O哈哈~)。其实九宫格布局在各大网站基本都有应用,当然这里的九宫...
收集整理的这篇文章主要介绍了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九宫格布局内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: Html+Css+Jquery实现左侧滑动拉伸...下一篇:html5默认气泡修改的代码详解猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: HTML利用九宫格原理进行网页布局
本文地址: https://pptw.com/jishu/586083.html
html5默认气泡修改的代码详解 Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码

游客 回复需填写必要信息