栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Vue.js

基于Vue实现拖拽升级(九宫格拖拽)

Vue.js 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Vue实现拖拽升级(九宫格拖拽)

前言

在本文中将会用Vue完成九宫格拖拽效果,同时介绍一下网格布局。具体代码以及demo可以点以下超链接进入

传送门:Demo以及完整代码连接

效果实例

简单了解Grid布局(网格布局)

什么是网格布局

CSS网格布局(又称“网格”),是一种二维网格布局系统。CSS在处理网页布局方面一直做的不是很好。一开始我们用的是table(表格)布局,然后用float(浮动),position(定位)和inline-block(行内块)布局,但是这些方法本质上是hack,遗漏了很多功能,例如垂直居中。后来出了flexbox(盒子布局),解决了很多布局问题,但是它仅仅是一维布局,而不是复杂的二维布局,实际上它们(flexbox与grid)能很好的配合使用。Grid布局是第一个专门为解决布局问题而创建的CSS模块.

简单说说网格布局的属性
  • display:
    • grid: 生成块级网格
    • inline-grid: 生成行内网格
    • subgrid: 如果网格容器本身是网格项(嵌套网格容器),此属性用来继承其父网格容器的列、行大小。
  • grid-template-columns
    • 设置网格列大小
  • grid-template-rows
    • 设置网格行大小
  • grid-template-areas
    • 设置网格区域
  • grid-column-gap
    • 设置网格列间距
  • grid-row-gap
    • 设置网格行间距
  • grid-gap
    • 缩写形式 grid-gap:
  • justify-items
    • 水平方向对齐方式(在这里只是简单说明)
    • start: 左对齐
    • end: 右对齐
    • center: 居中对齐
    • stretch: 填满(默认)
  • align-items
    • 垂直方向对齐方式
    • start: 顶部对齐
    • end: 底部对齐
    • center: 居中对齐
    • stretch:填满(默认)

当然,如果看不懂也不要紧,这里有一篇个人十分喜欢的网格布局的文章。里面介绍得十分详细。可以供大家深入学习网格布局内容。

传送门:Grid布局指南

Vue实现九宫格拖拽

Demo地址: Demo以及完整代码

实现九宫格布局

  .container{
    position: relative;   
    display: grid; 
    width: 300px;
    height: 300px;
    grid-template-columns: 100px 100px 100px;     
    grid-template-rows: 100px 100px 100px;
    grid-template-areas: "head1 head2 head3"      
     "main1 main2 main3"
     "footer1 footer2 footer3";
    border: 1px solid #000;
    margin: 0 auto;
  }
  .block{
    position: absolute;     
    width: 100px;
    height: 100px;
    display: flex; 
    justify-content: center;
    justify-items: center;
    align-items: center;
    align-content: center;
    user-select: none;      
    background: olivedrab;
    border: 1px solid #000
  }
//app.vue


  
    
      
 {{positionX}}
 {{positionY}}
      
    
  

实现拖拽的JS代码部分

在这里我选取一些核心代码出来讲解。代码有所省略,因为代码着实有点长,太占篇幅而且没多大意义,如果需要浏览全部代码可以点击上面的Demo连接。


总结

到这里我们把九宫格拖拽实现了,同时学习了Grid(网格布局)。总的做下来,发现用网格布局做网格拖拽更加费事,但是为了后续可以方便一些,也只好捣鼓下来了。到这里我们就把基于Vue的九宫格拖拽实现了,有问题或者发现错误的请指正,谢谢大家

珍惜淡定的心境,苦过后更加清

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/240611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号