javascript - 如何使用 JavaScript 将多个字符串设置为一个 css 属性?

标签 javascript jquery css

<分区>

请注意,我询问的是多个字符串,而不是多个属性。

更具体地说,我正在寻找一种 javascript/jquery 方式来更改 grid-template-areas属性(property)。

该属性可以取多个字符串作为值。例如:

grid-template-areas: "a b b"
                     "a c d";

最佳答案

要完成这项工作,您需要在新的 grid-template-areas 值中包含双引号。因此,您需要用单引号分隔新字符串。试试这个:

$('#example-element').css('grid-template-areas', '"a b b" "a b b" "a c c"');

请注意,此 CSS 规则仅适用于现代浏览器(即除 IE 和旧版 Edge 之外的所有浏览器,<= 15)

$('button').click(function() {
  $('#example-element').css('grid-template-areas', '"a b b" "a b b" "a c c"');
});
#example-element {
  background-color: #eee;
  border: .75em solid;
  padding: .75em;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: repeat(3, minmax(40px, auto));
  grid-gap: 10px;
  width: 200px;
  grid-template-areas: "a a a" "b c c" "b c c";
}

#example-element :nth-child(1) {
  background-color: rgba(0, 0, 255, .2);
  border: 3px solid #00f;
  grid-area: a;
}

#example-element :nth-child(2) {
  background-color: rgba(255, 0, 200, .2);
  border: 3px solid #663399;
  grid-area: b;
}

#example-element :nth-child(3) {
  background-color: rgba(94, 255, 0, .2);
  border: 3px solid green;
  grid-area: c;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="example-container">
  <div id="example-element" class="transition-all">
    <div>One (a)</div>
    <div>Two (b)</div>
    <div>Three (c)</div>
  </div>
</div>

<button>Change layout</button>

关于javascript - 如何使用 JavaScript 将多个字符串设置为一个 css 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59198735/

上一篇:html - 当您缩小浏览器时,页眉的背景图片不会占据全宽

下一篇:javascript - 将 id 解析为 Bootstrap 模式

相关文章:

javascript - 如何在 xml 文件中使用 javascript 'onclick' 事件?

php - 如何忽略搜索引擎在 PHP 页面上的综合浏览量?

javascript - ESLint、Create React App 和 Unused Vars 错误

javascript - 与 Recaptcha 一起使用时,Ajax 调用无法正常工作

css - 如何使引导导航栏/选项卡部分可水平滚动?

javascript - 无法显示 bootstrap UI 模态

jquery - 在 <a> 标签中为 jQuery 对话框指定高度和宽度

javascript - jQuery 窗口宽度不等于 CSS 的窗口宽度

css - 是否有理由将大写字母用于十六进制 CSS 颜色值?

jquery - 使用 jQuery.load 时确保在执行 javascript 之前应用 CSS