'Change the flexbox gap property using Javascript
I'm trying to change the flexbox gap property of a div when calling a JavaScript function, but I cannot seems to access it, here is the current code:
.bottomCont {
position: absolute;
display: flex;
left: 25%;
top: 80%;
right: 25%;
bottom: 0;
flex-wrap: nowrap;
align-items: center;
margin: 5% 5%;
justify-content: center;
gap: 10%;
}
<div id="botCont" class="bottomCont">
<div class="leftControls"></div>
<div class="eraser">🚨 erase 🚨</div>
<div class="rightControls"><button id="sizeGrid" class="gridSize">CHANGE GRID SIZE</button></div>
</div>
Here is what I've tried to add in the main.js file, none worked:
document.getElementById('botCont').style.gap = 40;
document.getElementById('botCont').style.flex.gap(40);
document.getElementsByClassName('bottomCont').css('gap', '40%')
I tried to use console.log to inspect but I do no get any returned value.
Solution 1:[1]
in gap property the value will be length like (px) or percentage. check mdn
in js file you will add value with length or percentage like this:
let changeGap = document.querySelector("#sizeGrid"),
botCont = document.querySelector("#botCont");
changeGap.addEventListener("click", function () {
botCont.style.gap = "20%";
});
.bottomCont {
position: absolute;
display: flex;
left: 25%;
top: 80%;
right: 25%;
bottom: 0;
flex-wrap: nowrap;
align-items: center;
margin: 5% 5%;
justify-content: center;
gap: 10%;
}
<div id="botCont" class="bottomCont">
<div class="leftControls"></div>
<div class="eraser">? erase ?</div>
<div class="rightControls">
<button id="sizeGrid" class="gridSize">CHANGE GRID SIZE</button>
</div>
</div>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Mohamed Mehdawy |
