摘要:前言在本文中將會用完成九宮格拖拽效果,同時介紹一下網(wǎng)格布局。到這里我們就把基于的九宮格拖拽實(shí)現(xiàn)了,有問題或者發(fā)現(xiàn)錯誤的請指正,謝謝大家珍惜淡定的心境,苦過后更加清
前言
在本文中將會用Vue完成九宮格拖拽效果,同時介紹一下網(wǎng)格布局。具體代碼以及demo可以點(diǎn)以下超鏈接進(jìn)入
傳送門:Demo以及完整代碼連接
效果實(shí)例 簡單了解Grid布局(網(wǎng)格布局) 什么是網(wǎng)格布局CSS網(wǎng)格布局(又稱“網(wǎng)格”),是一種二維網(wǎng)格布局系統(tǒng)。CSS在處理網(wǎng)頁布局方面一直做的不是很好。一開始我們用的是table(表格)布局,然后用float(浮動),position(定位)和inline-block(行內(nèi)塊)布局,但是這些方法本質(zhì)上是hack,遺漏了很多功能,例如垂直居中。后來出了flexbox(盒子布局),解決了很多布局問題,但是它僅僅是一維布局,而不是復(fù)雜的二維布局,實(shí)際上它們(flexbox與grid)能很好的配合使用。Grid布局是第一個專門為解決布局問題而創(chuàng)建的CSS模塊.簡單說說網(wǎng)格布局的屬性
display:
grid: 生成塊級網(wǎng)格
inline-grid: 生成行內(nèi)網(wǎng)格
subgrid: 如果網(wǎng)格容器本身是網(wǎng)格項(嵌套網(wǎng)格容器),此屬性用來繼承其父網(wǎng)格容器的列、行大小。
grid-template-columns
設(shè)置網(wǎng)格列大小
grid-template-rows
設(shè)置網(wǎng)格行大小
grid-template-areas
設(shè)置網(wǎng)格區(qū)域
grid-column-gap
設(shè)置網(wǎng)格列間距
grid-row-gap
設(shè)置網(wǎng)格行間距
grid-gap
縮寫形式 grid-gap:
justify-items
水平方向?qū)R方式(在這里只是簡單說明)
start: 左對齊
end: 右對齊
center: 居中對齊
stretch: 填滿(默認(rèn))
align-items
垂直方向?qū)R方式
start: 頂部對齊
end: 底部對齊
center: 居中對齊
stretch:填滿(默認(rèn))
當(dāng)然,如果看不懂也不要緊,這里有一篇個人十分喜歡的網(wǎng)格布局的文章。里面介紹得十分詳細(xì)??梢怨┐蠹疑钊雽W(xué)習(xí)網(wǎng)格布局內(nèi)容。
傳送門:Grid布局指南
Vue實(shí)現(xiàn)九宮格拖拽Demo地址: Demo以及完整代碼
實(shí)現(xiàn)九宮格布局/*css*/ .container{ position: relative; /*實(shí)現(xiàn)定位,使得滑塊定位相對于此*/ display: grid; /*定義網(wǎng)格布局*/ width: 300px; height: 300px; grid-template-columns: 100px 100px 100px; /*實(shí)現(xiàn)九宮格,行列各三*/ 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; /*相對于container定位*/ width: 100px; height: 100px; display: flex; /*flex布局,使得文字在中央*/ justify-content: center; justify-items: center; align-items: center; align-content: center; user-select: none; /*用戶不可選定文字*/ background: olivedrab; border: 1px solid #000 }
//app.vue實(shí)現(xiàn)拖拽的JS代碼部分 {{positionX}} {{positionY}}
在這里我選取一些核心代碼出來講解。代碼有所省略,因?yàn)榇a著實(shí)有點(diǎn)長,太占篇幅而且沒多大意義,如果需要瀏覽全部代碼可以點(diǎn)擊上面的Demo連接。
總結(jié)到這里我們把九宮格拖拽實(shí)現(xiàn)了,同時學(xué)習(xí)了Grid(網(wǎng)格布局)??偟淖鱿聛恚l(fā)現(xiàn)用網(wǎng)格布局做網(wǎng)格拖拽更加費(fèi)事,但是為了后續(xù)可以方便一些,也只好搗鼓下來了。到這里我們就把基于Vue的九宮格拖拽實(shí)現(xiàn)了,有問題或者發(fā)現(xiàn)錯誤的請指正,謝謝大家
珍惜淡定的心境,苦過后更加清
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/107679.html
摘要:前言在本文中將會用完成九宮格拖拽效果,同時介紹一下網(wǎng)格布局。到這里我們就把基于的九宮格拖拽實(shí)現(xiàn)了,有問題或者發(fā)現(xiàn)錯誤的請指正,謝謝大家珍惜淡定的心境,苦過后更加清 前言 在本文中將會用Vue完成九宮格拖拽效果,同時介紹一下網(wǎng)格布局。具體代碼以及demo可以點(diǎn)以下超鏈接進(jìn)入 傳送門:Demo以及完整代碼連接 效果實(shí)例 showImg(https://segmentfault.com/im...
一個vue-table的組件 說明: 1.基于element-ui開發(fā)的vue表格組件。 showImg(https://segmentfault.com/img/bVbfNNM?w=786&h=649);showImg(https://segmentfault.com/img/bVbfNPc?w=746&h=233);showImg(https://segmentfault.com/img/bV...
摘要:實(shí)現(xiàn)原理簡單,純技術(shù)處理圖片,幾乎不需要用到相關(guān)知識面向人群急于使用頭像裁剪組件的同學(xué)。裁剪框初始寬高上傳圖片后,裁剪區(qū)將預(yù)設(shè)為最大裁剪范圍。支持矩形裁剪目前九宮僅支持將圖片裁剪為正方形,不能裁剪為矩形,該功能將在后續(xù)優(yōu)化。 項目簡介 本組件是vue下的頭像裁剪組件,可以直接拷貝代碼使用,無需安裝依賴 使用九宮格進(jìn)行裁剪,自由選擇裁剪區(qū)域。 實(shí)時預(yù)覽裁剪后效果。 可以將裁剪好的圖片,...
摘要:是瀏覽器的特有屬性實(shí)現(xiàn)拖拽功能我們既然熟悉了這幾個偏移屬性的意思,那么我們就進(jìn)入我們的重點(diǎn)。當(dāng)然我們同時也學(xué)習(xí)了的一些方法,例如自定義指令等。 效果圖 showImg(https://upload-images.jianshu.io/upload_images/10414430-93d8911b63914b85.gif?imageMogr2/auto-orient/strip); 分清...
閱讀 1496·2021-10-18 13:29
閱讀 2827·2021-10-12 10:18
閱讀 3616·2021-09-22 15:06
閱讀 2621·2019-08-29 17:09
閱讀 2829·2019-08-29 16:41
閱讀 1526·2019-08-29 13:48
閱讀 3253·2019-08-26 13:49
閱讀 3352·2019-08-26 13:34