I am trying to get a table list done with many elements inside that I don't want to have with the same height. I want to be able to adjust the number of columns side by side later on. The "Cells" on the same row should all stretch to the same height. In my implementation this is done via a flexbox layout, visualized with the borders. However, the children of the container do not stretch all the way up, which can be seen by the background color not going all the way down. Here is a codepro link to demonstrate the problem:
HTML
<div id="list">
<div class="show">
<div class="show-wrapper">
<div class="show-time-container">
<div class="show-time">00:21</div>
</div>
<div class="show-tvstation-container">
<div class="show-tvstation-type-wrapper">
<span class="show-tvstation-type">cable</span>
<span class="show-tvstation-id">Pro Sieben</span>
</div>
</div>
<div class="show-container">
<div class="show-description-wrapper">
<span class="description">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</span>
<span class="description">
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</span>
<span class="description">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
</span>
<span class="description">
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</span>
</div>
</div>
</div>
</div>
</div>
SCSS
#list {
background: grey;
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: stretch;
align-content: flex-start;
position: relative;
width: 100%;
}
.show {
background: white;
}
.show-time-container {
background: darken(#eee, 30%);
}
.show {
width: 50%;
}
.show {
border: 1px solid #333;
margin: -1px;
}
.show-wrapper {
display: flex;
flex-direction: row;
flex-wrap: no-wrap;
align-items: stretch;
align-content: flex-start;
.show-time-container {
padding: 5px;
width: 15%;
.show-time {
font-size: 20px;
font-weight: 700;
}
}
.show-tvstation-container {
padding: 5px;
width: 15%;
}
.show-container {
padding: 5px;
width:60%;
}
}
.show-days-wrapper {
display: flex;
flex-direction: column;
}
.description {
font-size: 14px;
display: inline-block;
&:after {
content: '\2009\2013\2009';
}
&:first-child {
font-weight: 700;
font-size: 1.3em;
&:after {
content: '';
}
}
}
.show-tvstation-type:after {
content: '\2009';
}
.show-tvstation-type-wrapper {
font-weight: 700;
font-size: 16px;
}
.show-properties-wrapper {
display: flex;
flex-direction: column;
}
How can I get the children to strecth to fill everything and the background goes down all the way?
Related
Is there any way I can get these collapsible boxes to be in a row but still open the full content on the page? They also need to be in three columns. before opening but when opened it should show its full content.
It also has to work in mobile view also. Here is some code to help you out but this would be very useful to know due to using a system that doesn't like Java
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.center-content {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.left {
-webkit-box-align: left;
-ms-flex-align: left;
align-items: left;
}
.right {
-webkit-box-align: right;
-ms-flex-align: right;
align-items: right;
}
.container {
display: flex;
align-items: center;
justify-content: left
}
img {
max-width: 100%
}
.image {
flex-basis: 40%
}
.text {
font-size: 20px;
padding-left: 0px;
}
/* Create two equal columns that float next to each other */
.column2 {
float: left;
width: 50%;
padding: 1%;
}
/* Create three equal columns that float next to each other */
.column3 {
float: left;
width: 33.33%;
padding: 1%;
}
/* Create four equal columns that float next to each other */
.column4 {
float: left;
width: 25%;
padding: 1%;
}
/* Create five equal columns that float next to each other */
.column5 {
float: left;
width: 20%;
padding: 1%;
}
/* Create six equal columns that float next to each other */
.column6 {
float: left;
width: 16.66666%;
padding: 1%;
}
/* Create seven equal columns that float next to each other */
.column7 {
float: left;
width: 16.5%;
padding: 0.5%;
}
/* Create eight equal columns that float next to each other */
.column8 {
float: left;
width: 12.5%;
padding: 0.5%;
}
/* Create nine equal columns that float next to each other */
.column9 {
float: left;
width: 11.1111%;
padding: 0.5%;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column2 {
width: 100%;
}
}
/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column3 {
width: 100%;
}
}
/* Responsive layout - makes the four columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column4 {
width: 100%;
}
}
/* Responsive layout - makes the five columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column5 {
width: 100%;
}
}
/* Responsive layout - makes the six columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column6 {
width: 100%;
}
}
/* Responsive layout - makes the seven columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column7 {
width: 100%;
}
}
/* Responsive layout - makes the eight columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column8 {
width: 100%;
}
}
/* Responsive layout - makes the nine columns stack on top of each other instead of next to each other */
#media screen and (max-width: 600px) {
.column9 {
width: 100%;
}
}
/* Responsive layout - makes two columns of different widths stack on top of each other instead of next to each other */
.first-column {
width: 30%;
padding: 1vw;
float: left;
}
.second-column {
width: 70%;
padding: 1vw;
float: right;
}
/* Responsive layout - another example where two columns of different widths stack on top of each other instead of next to each other */
.first-column1 {
width: 75%;
padding: 1vw;
float: left;
}
.second-column1 {
width: 25%;
padding: 1vw;
float: right;
}
/* Responsive layout - another example where two columns of different widths stack on top of each other instead of next to each other */
.first-columnheader {
width: 55%;
padding: 1vw;
float: left;
}
.second-columnheader {
width: 45%;
padding: 1vw;
float: right;
}
/* Responsive layout - makes two columns of different widths stack on top of each other instead of next to each other */
.first-columntext {
width: 100%;
padding: 1vw;
float: left;
}
.second-columntext {
width: 100%;
padding: 1vw;
float: right;
}
/* the next section defines what you want the columns to look like in mobile view - all are linked to the column set ups in the rows above */
#media only screen and (max-width: 768px) {
/* links to row 93 */
.first-column {
width: 100%;
padding-bottom: 10px;
float: none;
}
.second-column {
width: 100%;
padding-bottom: 10px;
float: none;
}
/* links to row 107 */
.first-column1 {
width: 100%;
padding-bottom: 10px;
float: none;
}
.second-column1 {
width: 100%;
padding-bottom: 10px;
float: none;
}
/* links to row 137 */
.first-columnheader {
width: 100%;
padding-bottom: 2px;
float: none;
}
.second-columnheader {
width: 100%;
padding-bottom: 2px;
float: none;
}
/* links to row 151 */
.first-columntext {
width: 100%;
padding-bottom: 10px;
float: none;
}
.second-columntext {
width: 100%;
padding-bottom: 10px;
float: none;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
}
#media (min-width: 140px)
{
.style1
{
font-size:11px;
}
.style2
{
font-size:11.5px;
}
.style3
{
font-size:12px;
}
.style4
{
font-size:12.5px;
}
.style5
{
font-size:14px;
}
.style6
{
font-size:16px;
}
#media (min-width: 768px)
{
.style1
{
font-size:11px;
}
.style2
{
font-size:12px;
}
.style3
{
font-size:14px;
}
.style4
{
font-size:18px;
}
.style5
{
font-size:24px;
}
.style6
{
font-size:32px;
}
}
#media (min-width: 1400px)
{
.style1
{
font-size:18px;
}
.style2
{
font-size:20px;
}
.style3
{
font-size:24px;
}
.style4
{
font-size:28px;
}
.style5
{
font-size:32px;
}
.style6
{
font-size:36px;
}
}
.center-text {
text-align: center;
}
.bg-rbgreen {
background-color: #50bc08;
}
.bg-rbpalegreen {
background-color: #95ea5c;
}
.bg-rbgray {
background-color: #969696;
}
.bg-rbpalegray {
background-color: #cacaca;
}
.bg-rbred {
background-color: #e03a40;
}
.bg-rboffwhite {
background-color: #f4f4f4;
}
.bg-rbblue {
background-color: #131f6b;
}
.bg-rbpaleblue {
background-color: #A4CFEA;
}
.border-dark {
border: 0.5rem solid #202223;
}
.border-thindarkgray {
border: 0.1rem solid #867d72;
}
.border-mediumdark {
border: 0.3rem solid #202223; border-radius: 25px;
}
.border-mediumlight {
border: 0.3rem solid #ffffff; border-radius: 25px;
}
.border-roundlight {
border: 0.3rem solid #ffffff; border-radius: 25px;
}
.border-light {
border: 0.5rem solid #ffffff;
}
.border-thicklight {
border: 1.3rem solid #ffffff;
}
.border-thinlight {
border: 0.5rem solid #ffffff;
}
.same-height {
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}
.tab {
margin-left: 5%;
}
.space-around {
margin: 0.5rem;
}
.space-around1 {
margin: 0rem;
}
.space-around2 {
margin: 0.5rem 0rem 0rem 0rem;
}
.space-around3 {
margin: 0.5rem 0rem 0rem 0.5rem;
}
.no-bottom-padding {
padding-bottom: 0px !important;
}
.text-white {
color: white;
}
.text-charcoal {
color: #3b3535;
}
/* img sizing */
img.xsmall {
width: 10% !important;
}
img.small {
width: 25% !important;
}
img.medium {
width: 50% !important;
}
img.large {
width: 75% !important;
}
img.xlarge {
width: 100% !important;
}
img.center {
margin: auto;
}
img.fill {
height: 100%;
width: 100%;
}
a {
text-decoration: none;
}
/* contain a tag within contents*/
a.contain {
display: contents !important;
}
/* ALLOW ITEMS IN BOX TO STACK */
.stacked {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-flow: column;
flex-flow: column;
}
.layout {
height: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
width: 100%;
}
.layout .box {
/* FLEX BOXES (can apply flex styles like columns) */
/*display: inline-flex; */
position: relative;
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
min-height: 100px;
width: 100%;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.layout .box > p {
-webkit-box-flex: 0;
-ms-flex: none;
flex: none;
display: block;
}
.layout .box > img {
width: 100%;
display: block;
-ms-flex-item-align: center;
-ms-grid-row-align: center;
align-self: center;
}
.layout .box > a {
width: 100%;
display: block;
-ms-flex-item-align: center;
-ms-grid-row-align: center;
align-self: center;
}
.layout .box > a > * {
width: 100%;
display: block;
-ms-flex-item-align: center;
-ms-grid-row-align: center;
align-self: center;
}
.layout .box.p1 {
padding: 0.5rem;
}
.layout .box.p2 {
padding: 1rem;
}
.layout .box.p3 {
padding: 1.5rem;
}
.layout .box.p4 {
padding: 4rem;
}
.layout .box.p5 {
padding: 0.2rem;
}
.layout .box.pmxd {
padding: 0rem 0rem 0rem 2rem;
}
.layout .box.pmxd1 {
padding: 0rem 0rem 0rem 7rem;
}
.layout .box.pmxd2 {
padding: 0rem 0rem 0rem 1rem;
}
.layout.two {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-flow: row;
flex-flow: row;
}
.layout.two.split_25_75 > .box, .layout.two.split_2575 > .box, .layout.two.split2575 > .box {
width: 25%;
}
.layout.two.split_25_75 > .box:nth-child(2n), .layout.two.split_2575 > .box:nth-child(2n), .layout.two.split2575 > .box:nth-child(2n) {
width: 75%;
}
.layout.two.split_80_20 > .box, .layout.two.split_8020 > .box, .layout.two.split8020 > .box {
width: 80%;
}
.layout.two.split_80_20 > .box:nth-child(2n), .layout.two.split_8020 > .box:nth-child(2n), .layout.two.split8020 > .box:nth-child(2n) {
width: 20%;
}
.layout.two.split_60_40 > .box, .layout.two.split_6040 > .box, .layout.two.split6040 > .box {
width: 60%;
}
.layout.two.split_60_40 > .box:nth-child(2n), .layout.two.split_6040 > .box:nth-child(2n), .layout.two.split6040 > .box:nth-child(2n) {
width: 40%;
}
.layout.two > .box {
width: 50%;
}
.layout.three > .box {
width: 33.333%;
}
.layout.four > .box {
width: 25%;
}
.layout.three.split_25_50_25 > .box, .layout.three.split25_50_25 > .box, .layout.three.split_255025 > .box, .layout.three.split255025 > .box {
width: 25%;
}
.layout.three.split_25_50_25 > .box:nth-child(2n), .layout.three.split25_50_25 > .box:nth-child(2n), .layout.three.split_255025 > .box:nth-child(2n), .layout.three.split255025 > .box:nth-child(2n) {
width: 50%;
}
.bottomRight {
position: absolute;
right: -1rem;
bottom: -1rem;
width: 50% !important;
}
/*
CSS for the main interaction
*/
.accordion > input[type="checkbox"] {
position: absolute;
left: -100vw;
}
.accordion .content {
overflow-y: hidden;
height: 0;
transition: height 0.3s ease;
}
.accordion > input[type="checkbox"]:checked ~ .content {
height: auto;
overflow: visible;
}
.accordion label {
display: block;
}
/*
Styling
*/
.accordion {
margin-bottom: 1em;
height: auto;
}
.accordion > input[type="checkbox"]:checked ~ .content {
padding: 15px;
border-top: 0;
}
.accordion .handle {
margin: 0;
font-size: 1.125em;
line-height: 1.2em;
}
.accordion label {
color: #000;
cursor: pointer;
font-weight: bold;
padding: 15px;
background: #14b1e8;
margin: 0em 65.5em 0em 1.5em;
}
.accordion label:hover,
.accordion label:focus {
background: #50bc08;
color: #fff;
}
.accordion .handle label:before {
content: "+";
display: inline-block;
margin-right: 10px;
font-size: .58em;
line-height: 1.556em;
vertical-align: middle;
}
.accordion > input[type="checkbox"]:checked ~ .handle label:before {
content: "-";
}
/*
CSS for the main interaction
*/
.accordion1 > input[type="checkbox"] {
position: absolute;
left: -100vw;
}
.accordion1 .content {
overflow-y: hidden;
height: 0;
transition: height 0.3s ease;
}
.accordion1 > input[type="checkbox"]:checked ~ .content {
height: auto;
overflow: visible;
}
.accordion1 label {
display: block;
}
/*
Styling
*/
.accordion1 {
margin-bottom: 1em;
height: auto;
}
.accordion1 > input[type="checkbox"]:checked ~ .content {
padding: 15px;
border-top: 0;
}
.accordion1 .handle {
margin: 0;
font-size: 1.125em;
line-height: 1.2em;
}
.accordion1 label {
color: #000;
cursor: pointer;
font-weight: bold;
padding: 15px;
background: #14b1e8;
margin: 0em 65.5em 0em 1.5em;
}
.accordion1 label:hover,
.accordion1 label:focus {
background: #50bc08;
color: #fff;
}
.accordion1 .handle label:before {
content: "+";
display: inline-block;
margin-right: 10px;
font-size: .58em;
line-height: 1.556em;
vertical-align: middle;
}
.accordion1 > input[type="checkbox"]:checked ~ .handle label:before {
content: "-";
}
/*
CSS for the main interaction
*/
.accordion2 > input[type="checkbox"] {
position: absolute;
left: -100vw;
}
.accordion2 .content {
overflow-y: hidden;
height: 0;
transition: height 0.3s ease;
}
.accordion2 > input[type="checkbox"]:checked ~ .content {
height: auto;
overflow: visible;
}
.accordion2 label {
display: block;
}
/*
Styling
*/
.accordion2 {
margin-bottom: 1em;
height: auto;
}
.accordion2 > input[type="checkbox"]:checked ~ .content {
padding: 15px;
border-top: 0;
}
.accordion2 .handle {
margin: 0;
font-size: 1.125em;
line-height: 1.2em;
}
.accordion2 label {
color: #000;
cursor: pointer;
font-weight: bold;
padding: 15px;
background: #14b1e8;
margin: 0em 65.5em 0em 1.5em;
}
.accordion2 label:hover,
.accordion2 label:focus {
background: #50bc08;
color: #fff;
}
.accordion2 .handle label:before {
content: "+";
display: inline-block;
margin-right: 10px;
font-size: .58em;
line-height: 1.556em;
vertical-align: middle;
}
.accordion2 > input[type="checkbox"]:checked ~ .handle label:before {
content: "-";
}
html {
height: 1800px;
}
#media (max-width: 800px) {
html {
height: 3200px;
}
}
/*# sourceMappingURL=base.css.map */
</style>
</head>
<body>
<div class="page" style="font-family: 'lato',helvetica;">
<div class="layout one">
<div class="border-thinlight style1" style="color: #131f6b; padding: 1vw;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</div>
<section class="accordion">
<input type="checkbox" name="collapse" id="handle1">
<h2 class="handle">
<label for="handle1">Headers</label>
</h2>
<div class="content">
<div class="layout one">
<div class="column4 style1 bg-rboffwhite border-thinlight" style="min-height: 66vw; height: 100%; color: #002060; padding: 1vw;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="column4 style1 bg-rboffwhite border-thinlight" style="min-height: 66vw; height: 100%; color: #131f6b; padding: 1vw;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="column4 style1 bg-rboffwhite border-thinlight" style="min-height: 66vw; height: 100%; color: #131f6b; padding: 1vw;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<span class="style1" style="color: #ff0000;"><strong>Header</strong></span><br /><br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
<div class="column4 style1 bg-rboffwhite border-thinlight" style="min-height: 66vw; height: 100%; color: #131f6b; padding: 1vw;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
</div>
</div>
</section>
<section class="accordion1">
<input type="checkbox" name="collapse2" id="handle2">
<h2 class="handle">
<label for="handle2">Header</label>
</h2>
<div class="content">
<div class="layout one">
<div class="first-column" style="min-height: 20vw; height: 100%; padding: 1vw;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
<div class="second-column style1 bg-rboffwhite border-thinlight" style="min-height: 20vw; height: 100%; padding: 1vw; color: #002060;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
</div>
</div>
</section>
<section class="accordion2">
<input type="checkbox" name="collapse3" id="handle3">
<h2 class="handle">
<label for="handle3">Header</label>
</h2>
<div class="content">
<div class="layout one">
<div class="first-column style1 bg-rboffwhite border-thinlight" style="min-height: 42.5vw; height: 100%; padding: 1vw; color: #002060;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="second-column style1 bg-rboffwhite border-thinlight" style="min-height: 42.5vw; height: 100%; padding: 1vw; color: #002060;">
<span style="color: #ff0000;"><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</div>
</div>
</section>
</div>
</body>
</html>
.accordion1 .content {
overflow-y: hidden;
height: 0;
transition: height 0.3s ease;
background-color: transparent;
position: absolute;
width: 100%;
z-index: -1;
border-radius: 6px;
left: 0;
I have found the answer it took a while but separate each column, then add left:0 then all the content goes to the left, but now got another problem, the content once selected is showing over one another. Just trying to find out how to stop it, I have tried removing the Z-index but it still does it. If there is any resolve for this would be greatly helpful
I'm trying to look for clues to design a banner like the one on the top of this page: https://www.gazteaukera.euskadi.eus/inicio/
I am trying myself but don't get what I want (see below). I want to have an image column on the left and a text column on the right perfectly aligned. I want it to be responsive, so that in smaller screens the left column will be placed on top of the right column (with no space between top and bottom divs).
I am having some issues getting what I want. I hope someone can help me :)
code:
.row {
background-color: blue;
padding: 0px;
/*I have added a background-color to help me solve the design issues, but this is sthg to be removed*/}
.column {
float: left;
width: 50%;
padding: 0px;
}
.row:after {
content: "";
display: table;
clear: both;
}
.title {
font-size: 24px;
color: #0FD955;
padding: 15px 15px 0px 15px;
font-weight: bold;}
.text {
font-size: 18px;
color: #0FD955;
padding: 0px 15px 15px 15px;
}
.imgw100 {
width: 100%;
}
#media screen and (max-width: 980px) {
.column { width: 100%; }
.right { width: 100%; }
.left { width: 100%; }
}
<div class="row">
<div class="column right">
<img class="imgw100" src="https://butterfly-conservation.org/sites/default/files/styles/masthead/public/2019-03/16548509661_3bdddd5179_o.jpg" />
</div>
<div class="column left" style="background-color: #022C11;">
<p class="title">Breaking news</p>
<p class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
Add display css to row as flex for larger devices
add for small screen add display css as block for row
.row {
background-color: blue;
padding: 0px;
display: flex;
}
.title {
font-size: 24px;
color: #0fd955;
padding: 15px 15px 0px 15px;
font-weight: bold;
}
.text {
font-size: 18px;
color: #0fd955;
padding: 0px 15px 15px 15px;
}
.imgw100 {
width: 100%;
}
#media screen and (max-width: 480px) {
.row {
background-color: blue;
padding: 0px;
display: block;
}
}
I'm aware that there does exist solutions for vertical alignment but the issue is there are all sorts of ways to accomplish this but I haven't found one which deals with a flex container. And many solutions revolve around having a fixed height which doesn't help me at all since my height is always unknown.
I would like to vertically align the element inside of my left floating div which is the .about_container .welcome div block. How can I figure this out, and feel free to point out any bad practices that I may have used in my code.
If you want to see what the output of the follow two files look like, I've added a screen shot of the output on the bottom.
Contents of my HTML file
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSS Maddness</title>
<link rel="stylesheet" type="text/css" href="floatHelp.css">
</head>
<body>
<div class="about_container">
<div class="welcome">
<h1>Welcome<br>to my<br>Webpage!</h1>
</div>
<div class="welcome_content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </p>
</div>
</div>
<div id="projects">
<h2>Some lonely text down here to test against overflow.</h2>
</div>
</div>
<body>
</html>
Contents of my CSS file
.about_container {
color: snow;
display: flex;
border-bottom: 1px solid black;
}
.about_container .welcome {
background-color: #DCC7AA;
float: left;
margin 0;
width: 50%;
-webkit-flex: 1;
-moz-flex: 1
-ms-flex: 1;
flex: 1;
}
.about_container .welcome_content {
background-color: #F7882F;
margin: 0px;
top: 0;
float: right;
width: 50%;
-webkit-flex: 1;
-moz-flex: 1
-ms-flex: 1;
flex: 1;
}
.about_container .welcome_content p{
padding: 15px;
}
.about_container .welcome h1 {
border: 3px solid snow;
border-radius: 10px;
font-family: 'Julius Sans One', sans-serif;
margin-left: 10%; margin-right: 10%;
padding: 10px;
text-align: center;
}
#projects{
clear: both;
}
Output:
The element in my left div is not vertically centered as you can see from this screenshot
Add the following parameters to .about_container .welcome h1
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin: 0;
and add position: relative to .about_container .welcome
.about_container {
color: snow;
display: flex;
border-bottom: 1px solid black;
}
.about_container .welcome {
background-color: #DCC7AA;
float: left;
position: relative;
margin: 0;
width: 50%;
-webkit-flex: 1;
-moz-flex: 1 -ms-flex: 1;
flex: 1;
}
.about_container .welcome_content {
background-color: #F7882F;
margin: 0px;
top: 0;
float: right;
width: 50%;
-webkit-flex: 1;
-moz-flex: 1 -ms-flex: 1;
flex: 1;
}
.about_container .welcome_content p {
padding: 15px;
}
.about_container .welcome h1 {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin: 0;
border: 3px solid snow;
box-sizing: border-box;
border-radius: 10px;
font-family: 'Julius Sans One', sans-serif;
padding: 10px;
text-align: center;
}
#projects {
clear: both;
}
<div class="about_container">
<div class="welcome">
<h1>Welcome<br>to my<br>Webpage!</h1>
</div>
<div class="welcome_content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<div id="projects">
<h2>Some lonely text down here to test against overflow.</h2>
</div>
</div>
Just make .about_container .welcome a flex container too. Add this to the .about_container .welcome rule:
display: flex;
flex-direction: column;
justify-content: center;
I'm a beginner and it's my first time on Stack Overflow so I hope you'll be forgiving :) I'm trying to build small responsive 'gallery' with two pictures and div with text (vide: img). The problem is with these white stripes and inscriptions on pictures. I can't make them behave like pictures - in smaller sizes, they're falling on the bottom. How can I make them "stick" to the pictures? I'm using flexbox.
Thanks for all your answers and patience :)
Code:
.container {
margin: 0 auto;
max-width: 1200px;
padding: 0 1rem;
box-sizing: border-box;
}
.responsive{
max-width: 100%;
}
.box img {
display: block;
}
.white_stripe {
z-index: 1;
background-color: white;
opacity: 0.5;
width: 329px;
height: 60px;
position: absolute;
bottom: 30px;
display: flex;
#include tablet {
flex-direction: column;
}
#include mobile {
flex-direction: column;
}
}
.box p {
font-size: 0.8rem;
}
#media screen and (min-width: 600px) {
.gallery {
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
.box {
width: 30%;
}
}
#media screen and (min-width: 1000px) {
.box {
width: calc(100% / 3);
}
}
.box {
margin: 1rem;
}
#media screen and (min-width: 600px) {
.box {
width: calc(50% - 3rem);
}
}
#media screen and (min-width: 1000px) {
.box {
width: calc(33.3333% - 3rem);
}
}
.txt {
border: 1px solid #E0E0E0;
padding: 0 20px 0 20px;
}
<div class="container">
<div class="gallery">
<div class="box">
<div class="white_stripe ws_one"></div>
<img src="images/box1_img.jpg" alt="Chair CLAIR" title="Chair CLAIR" class="responsive">
</div>
<div class="box">
<div class="white_stripe ws_two"></div>
<img src="images/box2_img.jpg" alt="Chair MARGARITA" title="Chair MARGARITA" class="responsive">
</div>
<div class="box txt">
<h4>Finds all inputs</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis
aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
</div>
</div>
</div>
It´s only a guess, because i haven´t work with flex yet. But what happend, if you make the .white-stripe to display: block?
But the more needed answer could be: make .box to position: relative.
I am having an issue w/ flexbox layout. I want this part of my layout to be like this:
However for some reason its actually like this:
And also I want all of the element to stuck next to each (ESPECIALLY THE BOXES IMAGE) other when screen was resize to smaller sizes.
Wondering what to fix on my CSS for both the flexbox codes and media queries to do that?
Here's my CSS:
#media (min-width: 769px) {
.main-header,
.row,
.footer-inner{
width: 80%;
margin: 0 auto;
}
.tagline {
font-size: 1.4em;
}
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.row {
flex: 1;
}
/* =================================
Media Queries
==================================== */
#media (min-width: 769px) {
.main-header,
.main-nav,
.row {
display: flex;
}
.main-header {
flex-direction: column;
align-items: center;
}
}
#media (min-width: 1025px) {
.main-header {
flex-direction: row;
justify-content: space-between;
}
}
YOU CAN EDIT THE JSFIDDLE HERE: https://jsfiddle.net/dnmct9t4/8/
HELP PLEASE!
This is how to fix your flex layout.
#media (max-width: 769px) {
.col {
flex: initial !important;
}
}
Updated the demo
DEMO
Was not able to correct your source on jsFiddle but have done it on Codepen. Have rewritten your CSS a bit, but keep the HTML Structure near same.
html, body {
height: 100%;
width: 100%;
}
body {
margin: 0;
padding: 0;
}
.headline,
.tagline {
margin: 0;
color: #fff;
}
/* header */
.main__header {
text-align: center;
padding: 1em 0.7em;
background-color: #34495e;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
}
.main__header a {
display: block;
padding: 10px 15px;
color: #fff;
}
.header__name {
flex: 1 0 auto;
font-size: 1.35em;
margin: 0;
}
.header__navigation {
flex: 1 0 auto;
}
.header__navigation a {
font-size: 1em;
text-transform: uppercase;
}
.header__navigation a:hover {
color: #18bc9c;
}
#media (min-width: 769px) {
.header__navigation a {
display: inline-block;
}
}
#media (min-width: 1025px) {
.main__header {
text-align: left;
flex-direction: row;
}
.header__navigation {
text-align: right;
}
}
/* content */
/* hero */
.content__hero {
color: #fff;
background-color: blue;
text-align: center;
padding: 6.5em 0;
}
.hero__logo {
width: 256px;
}
/* boxes */
.content__boxes {
padding: 1em 0.7em;
box-sizing: border-box;
}
.content__boxes .flex-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-content: center;
align-items: center;
}
.content__boxes .col {
flex: 0 1 33%;
padding: 1em;
align-self: auto;
}
.content__boxes .col img {
width: 100%;
}
/* about */
.content__about {
background: #18bc9c;
padding: 1em 0.7em;
box-sizing: border-box;
}
.content__about .flex-row {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-content: stretch;
align-items: stretch;
}
.content__about .col {
flex: 2 1 60%;
min-width: 60%;
margin: 15px 5px;
box-sizing: border-box;
}
.content__about .col:last-child {
flex: 1 1 30%;
min-width: 30%;
}
.content__about .white {
flex: 1 0 100%;
margin: 0;
}
/* footer */
.main__footer {
background: black;
color: white;
padding: 1em 0.7em;
}
<header class="main__header">
<h1 class="header__name">
GORONG
</h1>
<nav class="header__navigation">
Home
BLAN
GRLS
</nav>
</header>
<main class="main__content">
<!-- hero -->
<section class="content__hero">
<img class="hero__logo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Prague_CoA_CZ.svg/2000px-Prague_CoA_CZ.svg.png">
<h1 class="headline">COLS</h1>
<span class="tagline">KIRK</span>
</section>
<section class="content__boxes">
<h2>BOXES</h2>
<div class="flex-row">
<div class="item-1 col">
<img src="http://blackrockdigital.github.io/startbootstrap-freelancer/img/portfolio/submarine.png">
</div><!--/.primary-->
<div class="item-2 col">
<img src="http://blackrockdigital.github.io/startbootstrap-freelancer/img/portfolio/submarine.png">
</div><!--/.secondary-->
<div class="item-3 col">
<img src="http://blackrockdigital.github.io/startbootstrap-freelancer/img/portfolio/submarine.png">
</div><!--/.tertiary-->
<div class="item-4 col">
<img src="http://blackrockdigital.github.io/startbootstrap-freelancer/img/portfolio/submarine.png">
</div><!--/.tertiary-->
<div class="item-5 col">
<img src="http://blackrockdigital.github.io/startbootstrap-freelancer/img/portfolio/submarine.png">
</div><!--/.tertiary-->
<div class="item-6 col">
<img src="http://blackrockdigital.github.io/startbootstrap-freelancer/img/portfolio/submarine.png">
</div><!--/.tertiary-->
</div>
</section>
<!-- about -->
<section class="content__about">
<h2 class="white">About</h2>
<div class="flex-row">
<div class="col">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div><!--/.primary-->
<div class="col">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div><!--/.secondary-->
</div>
</section>
</main>
<!-- footer -->
<footer class="main__footer">
<div class="footer-inner">
<span>©2016 KERONG</span>
</div>
</footer>
Hope this is you expected. Here also my codepen.