css - 使用网格区域角度交换元素的位置
问题描述
我有这个使用网格系统的布局
我使用这个模板创建的
<div class="parent">
<div class="div5"> </div>
<div class="div6"> </div>
<div class="div7"> </div>
<div class="div8"> </div>
</div>
这是样式
.parent {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(3, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.div1 { grid-area: 1 / 1 / 4 / 4; }
.div2 { grid-area: 1 / 4 / 2 / 5; }
.div3 { grid-area: 2 / 4 / 3 / 5; }
.div4 { grid-area: 3 / 4 / 4 / 5; }
我想交换div
它现在正在使用此代码工作的位置
swapVideo(e) {
if (e.path[4].classList.value == 'div6') {
this.renderer.addClass(this.elem.nativeElement.querySelectorAll('.div6')[0], "div5");
this.renderer.removeClass(this.elem.nativeElement.querySelectorAll('.div6')[0], "div6");
this.renderer.addClass(this.elem.nativeElement.querySelectorAll('.div5')[0], "div6");
this.renderer.removeClass(this.elem.nativeElement.querySelectorAll('.div5')[0], "div5");
console.log(this.elem.nativeElement);
}
if (e.path[4].classList.value == 'div8') {
this.renderer.addClass(this.elem.nativeElement.querySelectorAll('.div8')[0], "div5");
this.renderer.removeClass(this.elem.nativeElement.querySelectorAll('.div8')[0], "div8");
this.renderer.addClass(this.elem.nativeElement.querySelectorAll('.div5')[0], "div8");
this.renderer.removeClass(this.elem.nativeElement.querySelectorAll('.div5')[0], "div5");
console.log(this.elem.nativeElement);
}
if (e.path[4].classList.value == 'div7') {
this.renderer.addClass(this.elem.nativeElement.querySelectorAll('.div7')[0], "div5");
this.renderer.removeClass(this.elem.nativeElement.querySelectorAll('.div7')[0], "div7");
this.renderer.addClass(this.elem.nativeElement.querySelectorAll('.div5')[0], "div7");
this.renderer.removeClass(this.elem.nativeElement.querySelectorAll('.div5')[0], "div5");
console.log(this.elem.nativeElement);
}
}
假设我单击数字 2 更改为数字 1,单击 3 更改为数字 1,然后单击 4 更改为数字 1。基本上我想像这样在小屏幕和大屏幕之间切换,它正在工作,除了我这样做之后以同样的顺序,在我完成所有这些操作后它停止工作,但我仍然在控制台上得到那个元素,有人知道为什么吗?
我也打算使用 flexbox,你认为哪一个适合我的需要?
解决方案
推荐阅读
- joomla - 带有插入图像按钮的 Joomla 4 alpha 和模态窗口
- javascript - 使用 javascript 将元素内的数字四舍五入
- sql-server - 带有 Logsatsh 的 JDBC MSSQL 以连接到 Montoring DB
- typescript - TypeScript 中的 private 关键字和 private 字段有什么区别?
- android - 如果应用程序图标是 HD,ActivityInfo.loadIcon 会导致 OutOfMemoryError
- javafx - JavaFX CheckboxTreeItem:只处理选中的复选框
- odata - OData:如何在 UI5 中获取最高 ID
- c# - 在运行时更改语言的资源文件
- reactjs - React-leaflet 自定义组件 - 未传递上下文?
- python - 我如何在网络 x 上与我在 Twitter 上的关注者创建图表?