Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保持css网格布局简单_Javascript_Html_Css_Jsfiddle_Css Grid - Fatal编程技术网

Javascript 保持css网格布局简单

Javascript 保持css网格布局简单,javascript,html,css,jsfiddle,css-grid,Javascript,Html,Css,Jsfiddle,Css Grid,请看下面的例子。我正在学习css网格。其全部目的是保持简单,并且不需要在子元素上不必要地指定不同的布局细节,因此解决方案应该符合此模式 鉴于以下情况: 功能切换(t){ document.queryselectoral('div').forEach(el=> el.classList[0]==t.classList[0]? el.classList.toggle('selected'): el.classList.remove('selected')) } :root, html, 身体, 主

请看下面的例子。我正在学习css网格。其全部目的是保持简单,并且不需要在子元素上不必要地指定不同的布局细节,因此解决方案应该符合此模式

鉴于以下情况:

功能切换(t){
document.queryselectoral('div').forEach(el=>
el.classList[0]==t.classList[0]?
el.classList.toggle('selected'):
el.classList.remove('selected'))
}
:root,
html,
身体,
主要{
保证金:0;
填充:0;
字体系列:无衬线;
身高:100%;
}
主要{
边框:纯色3pt白色;
显示:网格;
网格模板柱:1fr 1fr 1fr 1fr;
网格模板行:1fr 1fr 1fr 1fr;
}
div{
网格面积:跨度2/跨度2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
光标:指针;
字号:5em;
字体大小:粗体;
颜色:白色;
背景:灰色;
}
.一{
背景:红色
}
.二{
背景:绿色
}
.三{
背景:蓝色
}
.选定{
宽度:150%;
身高:150%;
z指数:2;
}

一
二
三
四

您可以使用
变换:缩放(1.5)
并使用
变换原点定位它

它需要特定的CSS规则,具体取决于网格(我使用
:n个子元素
来定位每个元素)

供2x2使用

main div:nth-child(1){transform-origin: top left;}
main div:nth-child(2){transform-origin: top right;}
main div:nth-child(3){transform-origin: bottom left;}
main div:nth-child(4){transform-origin: bottom right;}

.selected {
  transform:scale(1.5);
  z-index: 2;
}

功能切换(t){
document.queryselectoral('div').forEach(el=>
el.classList[0]==t.classList[0]?
el.classList.toggle('selected'):
el.classList.remove('selected'))
}
:root,
html,
身体,
主要{
保证金:0;
填充:0;
字体系列:无衬线;
身高:100%;
}
主要{
边框:纯色3pt白色;
显示:网格;
网格模板柱:1fr 1fr 1fr 1fr;
网格模板行:1fr 1fr 1fr 1fr;
}
div{
网格面积:跨度2/跨度2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
光标:指针;
字号:5em;
字体大小:粗体;
颜色:白色;
背景:灰色;
}
.一{
背景:红色
}
.二{
背景:绿色
}
.三{
背景:蓝色
}
主分区:第n个孩子(1){
变换原点:左上角;
}
主要组别:第n名儿童(2){
变换原点:右上角;
}
主要组别:第n名儿童(3){
变换原点:左下角;
}
主要组别:第n名儿童(4){
变换原点:右下角;
}
.选定{
转换:比例(1.5);
z指数:2;
}

一
二
三
四

您可以使用
变换:缩放(1.5)
并使用
变换原点定位它

它需要特定的CSS规则,具体取决于网格(我使用
:n个子元素
来定位每个元素)

供2x2使用

main div:nth-child(1){transform-origin: top left;}
main div:nth-child(2){transform-origin: top right;}
main div:nth-child(3){transform-origin: bottom left;}
main div:nth-child(4){transform-origin: bottom right;}

.selected {
  transform:scale(1.5);
  z-index: 2;
}

功能切换(t){
document.queryselectoral('div').forEach(el=>
el.classList[0]==t.classList[0]?
el.classList.toggle('selected'):
el.classList.remove('selected'))
}
:root,
html,
身体,
主要{
保证金:0;
填充:0;
字体系列:无衬线;
身高:100%;
}
主要{
边框:纯色3pt白色;
显示:网格;
网格模板柱:1fr 1fr 1fr 1fr;
网格模板行:1fr 1fr 1fr 1fr;
}
div{
网格面积:跨度2/跨度2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
光标:指针;
字号:5em;
字体大小:粗体;
颜色:白色;
背景:灰色;
}
.一{
背景:红色
}
.二{
背景:绿色
}
.三{
背景:蓝色
}
主分区:第n个孩子(1){
变换原点:左上角;
}
主要组别:第n名儿童(2){
变换原点:右上角;
}
主要组别:第n名儿童(3){
变换原点:左下角;
}
主要组别:第n名儿童(4){
变换原点:右下角;
}
.选定{
转换:比例(1.5);
z指数:2;
}

一
二
三
四

我认为很难找到一个通用的解决方案,因为4个区块需要以不同的方式移动。顺便说一下,这里有一个解决方案,涉及很少的CSS更改

我知道你想要一个通用的,但我认为在所有情况下你都会有一些特殊性(比如颜色和内容)

功能切换(t){
document.queryselectoral('div').forEach(el=>
el.classList[0]==t.classList[0]?
el.classList.toggle('selected'):
el.classList.remove('selected'))
}
:root,
html,
身体,
主要{
保证金:0;
填充:0;
字体系列:无衬线;
身高:100%;
}
主要{
位置:相对位置;
边框:纯色3pt白色;
显示:网格;
网格模板柱:1fr 1fr 1fr 1fr;
网格模板行:1fr 1fr 1fr 1fr;
}
div{
网格面积:跨度2/跨度2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
光标:指针;
字号:5em;
字体大小:粗体;
颜色:白色;
背景:灰色;
过渡:0.5s;
}
.一{
背景:红色;
}
.二{
背景:绿色;
右:25%;
}
.三{
背景:蓝色;
底部:25%;
}
.4{
底部:25%;
右:25%;
}
.选定{
位置:相对位置;
宽度:150%;
身高:150%;
}

一
二
三
四

我认为很难找到一个通用的解决方案,因为4个区块需要以不同的方式移动。顺便说一下,这里有一个解决方案,涉及很少的CSS更改

我知道你想要一个通用的,但我认为在所有情况下你都会有一些特殊性(比如颜色和内容)

功能切换(t){
document.queryselectoral('div').forEach(el=>
el.classList[0]==t.classList[0]?
el.classList.toggle('selected'):
el.classList.remove('selected'))
}
:root,
html,
身体,
主要{
保证金:0;
填充:0;
字体系列:无衬线;
身高:100%;
}
主要{
位置:相对位置;
边框:纯色3pt白色;
显示:网格;
网格模板柱:1fr 1fr 1fr 1fr;
网格模板行:1fr 1fr 1fr 1fr;
}
div{
网格面积:跨度2/跨度2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
光标:指针;
字号:5em;
字体大小:粗体;
颜色:白色;
背景:灰色;
过渡:0.5s;
}
.一{
文学士