Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 ><jQury动态布局>浮动子元素均分布局对应的完整源码,以及jQuery在这里

<jQury动态布局>浮动子元素均分布局对应的完整源码,以及jQuery在这里

作者头像
zhaoolee
发布于 2018-04-19 02:50:37
发布于 2018-04-19 02:50:37
73400
代码可运行
举报
文章被收录于专栏:木子昭的博客木子昭的博客
运行总次数:0
代码可运行

在前端页面的布局过程中,作者遇到了,这样一个问题 当子元素为浮动元素时,父元素设置相应属性后可以被子元素撑开,但无法实现子元素的均分布局,在网络上找了半小时的资料,没有符合要求的布局示例, 今天自己用jQuery实现了动态计算子元素的margin,实现了子元素的均分布局,特来分享一下...

先上效果图

parent_son

源码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        .clearfix:before, .clearfix:after{
            content: "";
            display: table;
        }

        .clearfix:after{

            clear:both;
        }

        /*适配非主流浏览器(IE浏览器)*/
        .clearfix{

            zoom:1;

        }

        .parent{

            width:100%;
            border-width: 1px;
            border-style: solid;
            border-color: #d29922;
            margin: 0 auto;
        }


        .son{

            width:  150px;
            height: 150px;
            border: 2px solid #509839;
            margin: 10px;
            float: left;
            text-align: center;
        }

    </style>

    <script src="js/jquery-1.12.4.min.js"></script>
    <script>

        $(function(){
            // 平均分布子级元素
            function ave_son_element() {
                // 动态获取父标签宽度
                var parent_width = $(".parent").width();
                $("#p_width").text(parent_width);
                // 获取子标签宽度
                var son_width = $(".son:first").outerWidth();
                $("#s_width").text(son_width);

                // 取余数
                var remainder = parent_width % son_width;
                // 取整数商
                var quotient = (parent_width-remainder) / son_width;
                $("#quotient").text(quotient);
                // 获取子元素左右margin值
                var margin_value = parseInt((parent_width - ((son_width)* quotient)) / (quotient*2));
                $("#margin_value").text(margin_value);

                // 设置子元素左侧margin
                $(".son").css("margin-left", margin_value);
                // 设置子元素右侧侧margin
                $(".son").css("margin-right", margin_value);

            }

            // 页面渲染时 平均分布 子级元素
            ave_son_element();

            $(window).resize(function () {
                // 父级 尺寸变化时, 平均分布子级元素

                ave_son_element()

            });

        })



    </script>

</head>
<body>

<div class="parent clearfix">

    <div class="son">君不见</div>
    <div class="son">黄河之水</div>
    <div class="son">天上来</div>
    <div class="son">奔流到海</div>
    <div class="son">不复回</div>
    <div class="son">高堂明悲白发</div>
    <div class="son">朝如青丝暮成雪</div>
    <div class="son">人生得意须尽欢</div>
    <div class="son">莫使金樽空对月</div>
</div>


<div>

    <span>父标签宽度:</span><span id="p_width"></span><br>
    <span>子标签宽度(包含border):</span><span id="s_width"></span><br>
    <span>单行子级标签个数为:</span><span id="quotient"></span><br>
    <span>子级标签左右的margin值为:</span><span id="margin_value"></span>

</div>

</body>
</html>

对应的完整源码,以及jQuery在这里

http://www.jianshu.com/p/4f28e1ae08b1

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery
jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。
py3study
2020/01/16
4.1K0
建议收藏!总结了42种前端常用布局方案
对 CSS 布局掌握程度决定你在Web开发中的开发页面速度。随着Web技术的不断革新,实现各种布局的方式已经多得数不胜数了。
用户6835371
2021/11/26
4.3K0
CSS 入门指南(二):盒模型 & 浮动弹性布局 & CSS 特性
这个盒子由这几个部分构成 : 边框 border、 内容 content、 内边距 padding、 外边距 margin
IsLand1314
2025/03/30
1450
CSS 入门指南(二):盒模型 & 浮动弹性布局 & CSS 特性
前端常用布局方案总结
若元素为行内块级元素,可以通过为其父元素设置text-align: center 实现水平居中。
越陌度阡
2022/05/06
2.8K0
前端常用布局方案总结
jQuery基础
使用jQuery时, $ 是访问jQuery的标志,但是如果有其他方法与jQuery中的 $冲突时,可以释放$的使用权 ,还可以自定义一个符号来代替 $使用。
不愿意做鱼的小鲸鱼
2022/08/24
1.8K0
jQuery基础
jQuery基础--jQuery特殊属性操作
区别:html方法会识别html标签,text方法会那内容直接当成字符串,并不会识别html标签。
eadela
2019/09/29
2.2K0
前端课程——布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .container { width: 600px; height: 400px; border: 1px solid black; margin: 0 auto; display: table; table-layout: fixed; } .left,.right{ display: table-cell; } .left { width: 200px; height: 100%; background-color: lightcoral; } .right { height: 100%; background-color: lightskyblue; margin-left: 200px; } </style> </head> <body> <div class="container"> <div class="left"></div> <div class="right"></div> </div> </body> </html>
Dreamy.TZK
2020/04/09
5080
<网页布局>解决margin-top塌陷,实现子元素动态改变父元素尺寸1.伪类解决margin-top塌陷:2.浮动子元素动态改变父元素宽度:
1.伪类解决margin-top塌陷: 如果两个不浮动的盒子相互嵌套,对内部的盒子设置margin-top会导致属性被自动转移到外部的盒子上,导致内部盒子的margin-top设置失败最靠谱的解决方式
zhaoolee
2018/04/19
1.8K0
<网页布局>解决margin-top塌陷,实现子元素动态改变父元素尺寸1.伪类解决margin-top塌陷:2.浮动子元素动态改变父元素宽度:
三、jQuery属性操作
2、如何操作属性 对象.属性名称 = 值 对象.属性名称 对象[‘属性名称’] = 值 对象[‘属性名称’] Javascript
Dreamy.TZK
2020/06/16
3.8K0
三、jQuery属性操作
CSS3
值: (1)、normal(正常);bold(加粗);(<==常用) (2)、纯数字:100~900的整百数;
roydonGuo
2022/11/02
8370
CSS3
【CSS】清除浮动 ④ ( 清除浮动 - 使用双伪元素清除浮动 | 代码示例 )
为 .clearfix:before 和 .clearfix:after 并集选择器 , 设置如下样式 :
韩曙亮
2023/03/30
4.7K0
【CSS】清除浮动 ④ ( 清除浮动 - 使用双伪元素清除浮动 | 代码示例 )
【移动端网页布局】流式布局案例 ⑥ ( 多排按钮导航栏 | 设置浮动及宽度 | 设置图片样式 | 设置文本 )
该导航栏的宽度自动充满整个屏幕 , 宽度为 100% , 高度也不需要设置 , 设置自适应即可 ;
韩曙亮
2023/05/04
3.5K0
【移动端网页布局】流式布局案例 ⑥ ( 多排按钮导航栏 | 设置浮动及宽度 | 设置图片样式 | 设置文本 )
京东网页(动态)搭建,利用jquery实现
源代码已分享至本人云盘~~~ 链接:https://pan.baidu.com/s/1Nr5l2Smcmaevs5HHDh5y_A 提取码:blif
时间静止不是简史
2020/07/24
3.5K0
京东网页(动态)搭建,利用jquery实现
【CSS】浮动 ⑦ ( 浮动元素与兄弟容器盒子关系 | 代码示例 )
浮动元素 与 父容器盒子关系 : 浮动 只会 影响 当前盒子 和 后面的盒子 , 前面的 标准流元素 不受 本元素浮动 的影响 ;
韩曙亮
2023/03/27
6860
【CSS】浮动 ⑦ ( 浮动元素与兄弟容器盒子关系 | 代码示例 )
jQuery
    2.jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“
changxin7
2022/05/06
9.1K0
jQuery
CSS 浮动布局,解决清除浮动的问题
1、浮动元素有左浮动(float:left)和右浮动(float:right)两种
Devops海洋的渔夫
2019/05/31
2.9K0
jQuery基础图文系列
jquery的入口函数是在html所有标签都加载后才执行,而JavaScript的window.onload事件是等到所有内容加载完后才执行。
菲宇
2019/07/31
4.6K0
jQuery基础图文系列
带你熟悉CSS浮动
  浮动:顾名思义先浮后动,浮动的对象会先漂浮起来,离开自己原来的位置(也就是所谓的脱离文档流),后动的意思是,它的后面的元素会向它原来的位置动起来。
阿豪聊干货
2018/08/09
7060
带你熟悉CSS浮动
day41_jQuery学习笔记_02
下面是jQuery 提供额外的事件,用于完善javascript缺失的事件 详解如下:
黑泽君
2018/10/11
3.9K0
CSS浮动知识
因为一些网页布局要求,标准流不能满足我们的需要了,因此我们需要浮动来完成网页布局。
乐心湖
2020/07/31
1.8K0
CSS浮动知识
相关推荐
jQuery
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验