css - IE11 和 CSS 网格
问题描述
这种布局在 IE11 中是否可行(非常粗略的例子)?
$(document).on('click', '.js-toggle-hide', function(e){
e.preventDefault();
$(this).parent().parent().find('.js-hide').toggle();
});
@charset "UTF-8";
.c-sidebar {
display: grid;
grid-template-columns: 120px auto;
outline: 1px solid #ccc;
overflow: auto;
}
.c-cat {
display: grid;
grid-template-columns: 120px auto;
grid-template-rows: auto;
}
.c-cat__name {
grid-row: 1 / 1000;
}
.c-cat__toggle {
grid-row: 1 / 999;
min-width: 120px;
}
.c-cat__subcat {
grid-column: 3 / 4;
min-width: 120px;
}
.c-cat__subcat--all {
grid-column: 2 / 4;
}
/* decoration */
body {
padding: 15px;
background: #eee;
font-size: 11px;
}
.c-cell {
background: #fff;
outline: 1px solid #ccc;
padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="c-sidebar">
<div class="c-cell">All Categories</div>
<div>
<div class="c-cat">
<div class="c-cat__name c-cell">Sales</div>
<div class="c-cat__toggle c-cell">
<a href="" class="js-toggle-hide">All items</a>
</div>
<div class="c-cat__subcat c-cell js-hide">Export sales</div>
<div class="c-cat__subcat c-cell js-hide">Other sales</div>
<div class="c-cat__subcat c-cell js-hide">Product sales</div>
<div class="c-cat__subcat--all c-cell js-hide"><b>All items</b></div>
</div>
</div>
</div>
请注意,右侧列中的项目数量未定义(销售类型),客户可以添加/删除它们。
有没有我不知道的css技巧?
另一种方法是使用带有复杂 js/jquery 代码的表(这只是代码的一部分,但它完美地代表了我的困境),这将是非常乏味的工作。
解决方案
我的建议是,如果你想成为现代网格并且仍然支持像 IE11 这样的东西......然后从 in 开始,display: flex
然后做一个媒体支持来添加你的网格,如下所示:
@supports (display: grid) {
#_your css grid here _#
}
那么你可以在那里添加你所有的网格......如果你这样做你不一定会重复你只是在这里做网格部分(网格模板,列,行等)并绕过任何其他样式,如颜色,字体, 像素等...
推荐阅读
- php - Woocommerce:禁用预约取消 URL 地址的登录要求 [wp nonce]
- tkinter - 工作 tk 画布(带有图像的绘图应用程序)从画布中删除对象
- c# - 弹出要求在 Xamarin 应用程序中保存“登录信息”的原因是什么?
- javascript - TypeError:mention.send 不是函数 - discord.js
- git - 使用 Git 部署到 Heroku 时,如何解决子树上的“pushed branch tip is behind”?
- android - 共享元素后退转换不适用于片段中的 recyclerview 和 cardviews
- typo3 - 如何在 TYPO3 cObjects 中正确应用内容映射?
- java - 如何更改号码类型?加倍到整数
- css - 将工具提示保留在页面的可见部分
- javascript - Javascript根据特定条件查找主题标签并替换