I'm trying to place the line chart inside the div, but it still leaks below the div.
I've already changed the width and top in the options, but it doesn't seem to have any effect.
How can I fix those graphics that are outside the div to stay inside?
.containerGeral {
display: grid;
grid-template-columns: repeat(6, 540px); /* The width */
grid-auto-rows: 250px; /* The height */
grid-auto-flow: dense; /*This is the important property*/
/* The margin */
grid-gap: 20px;
padding: 10px;
}
.containerGeral .blocks {
border-radius: 10px;
background-color: #2E5173;
}
.containerGeral .blocks::before {
content: '';
display: block;
width: 100%;
height: 100%;
}
.big {
grid-column: span 3;
/* Take twice the width*/
}
<html>
<head>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<link rel="stylesheet" href="css/style.css">
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
</head>
<body>
<div id="test">
</div>
<div >
</div>
<script>
function draw(id) {
google.charts.load('current', {
'packages': ['corechart']
});
google.charts.setOnLoadCallback(function() {
var options = {
title: 'title',
curveType: 'function',
colors: ['#0409BA', '#00930A'],
lineWidth: 3,
vAxis: {
viewWindow: {
min: 0,
max: 100
}
},
legend: {
position: 'bottom'
},
top: '0',
width: '100%',
heigth: '30'
};
var chart = new google.visualization.LineChart(document.getElementById(id));
var data = google.visualization.arrayToDataTable([
['x', 'y'],
[0, 0],
[1, 1],
[2, 3],
[3, 7],
[4, 15],
[5, 31]
]);
chart.draw(data, options);
});
}
for (let i = 0; i < 16; i ) {
if (i % 6 == 0 && i > 0) {
var d1 = $('<div id="a' i '">titlee' i '</div>').appendTo('.containerGeral')
var d2 = $('<div id="b' i '">titlee' i '</div>').appendTo('.containerGeral')
continue
}
$('<div id="c' i '"></div>').appendTo('.containerGeral')
draw('c' i)
}
</script>
</body>
</html>
CodePudding user response:
Remove the pseudo element ::before
.containerGeral .blocks::before {
content: '';
display: block;
width: 100%;
height: 100%;
}
Here is a snippet
function draw(id) {
google.charts.load('current', {
'packages': ['corechart']
});
google.charts.setOnLoadCallback(function() {
var options = {
title: 'title',
curveType: 'function',
colors: ['#0409BA', '#00930A'],
lineWidth: 3,
vAxis: {
viewWindow: {
min: 0,
max: 100
}
},
legend: {
position: 'bottom'
},
top: '0',
width: '100%',
heigth: '30'
};
var chart = new google.visualization.LineChart(document.getElementById(id));
var data = google.visualization.arrayToDataTable([
['x', 'y'],
[0, 0],
[1, 1],
[2, 3],
[3, 7],
[4, 15],
[5, 31]
]);
chart.draw(data, options);
});
}
for (let i = 0; i < 16; i ) {
if (i % 6 == 0 && i > 0) {
var d1 = $('<div id="a' i '">titlee' i '</div>').appendTo('.containerGeral')
var d2 = $('<div id="b' i '">titlee' i '</div>').appendTo('.containerGeral')
continue
}
$('<div id="c' i '"></div>').appendTo('.containerGeral')
draw('c' i)
}
.containerGeral {
display: grid;
grid-template-columns: repeat(6, 540px);
/* The width */
grid-auto-rows: 250px;
/* The height */
grid-auto-flow: dense;
/*This is the important property*/
/* The margin */
grid-gap: 20px;
padding: 10px;
}
.containerGeral .blocks {
border-radius: 10px;
background-color: #2E5173;
}
.big {
grid-column: span 3;
/* Take twice the width*/
}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id="test">
</div>
<div >
</div>
