Aligning elements inside display:cell - html

I have the following code:
Also found here as a jsfiddle.
.font_color_white {
color: white;
}
.font_20px {
font-size: 20px;
}
.font_weight_bold {
font-weight: bold;
}
.bg_color_orange {
background-color: rgb(255, 97, 56);
}
.section_container {
display: block;
position: relative;
width: 100%;
height: auto;
min-width: 960px;
margin-top: 20px;
}
.section_container_inner {
margin: 0 auto;
display: block;
position: relative;
}
.section_block {
display: block;
float: left;
position: relative;
height: auto;
}
.section_block_header {
display: block;
position: relative;
text-align: center;
margin-bottom: 5px;
}
.section_block_table {
display: table;
position: relative;
}
.section_block_row {
display: table-row;
position: relative;
}
.section_block_cell {
display: table-cell;
position: relative;
}
.width_960px {
width: 960px;
}
.height_50px {
height: 50px;
line-height: 50px;
vertical-align: middle;
}
.margin_top_10px {
margin-top: 10px;
}
.padding_left_5px {
padding-left: 5px;
}
.padding_top_minus_5px {
padding-top: -5px;
}
.display_block {
display: block;
}
.box_orange {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
border: 2px solid rgb(255, 97, 56);
width: 20px;
height: 20px;
}
<link href='http://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
<div class="section_block_table width_960px">
<div class="section_block_header height_50px width_960px bg_color_orange">
<span class="font_color_white font_20px">FAQ</span>
</div>
<div class="section_block_row">
<div class="display_block width_960px margin_top_10px">
<div class="section_block_cell">
<div class="box_orange"></div>
</div>
<div class="section_block_cell">
<div class="display_block padding_left_5px font_weight_bold padding_top_minus_5px">
<span class="font_family_cont_m">What's the best way to get started with archery at Kelly's?</span>
</div>
<div class="display_block padding_left_5px ">
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.
</div>
</div>
</div>
</div>
</div>
I am trying to get the question to align exactly with the square on the left. So the question text and the square seem as if they are on the same line. Have tried to apply paddings and margins to the question text block, but no luck at all.
Can someone identify what I have been doing wrong?

You need to set the vertical alignment of your table-cell display element.
If you want the square directly in the middle, you can set it to middle:
.section_block_cell {
...
display: table-cell;
vertical-align: middle;
}
JSFiddle demo.
Alternatively you want it at the top, you can set it to top:
.section_block_cell {
...
display: table-cell;
vertical-align: top;
}
Alternative JSFiddle demo.

Not sure about what you try to achieve... If you want your box to be vertical align with the question, see the answers above.
If you want the bow to be vertical align with the first line, i would use absolute positioning for the orange box, with a left padding on the question container :
<div class="display_block width_960px margin_top_10px question">
<div class="box_orange"></div>
<p class="font_family_cont_m font_weight_bold">What's the best way to get started with archery at Kelly's?</p>
<p>
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.
</p>
</div>
And the CSS :
.question {
position: relative;
padding-left: 34px;
}
.question p{
margin: 0;
}
.box_orange {
position: absolute;
top: -4px;
left: 0;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
border: 2px solid rgb(255,97,56);
width: 20px;
height: 20px;
}
Updated Fiddle

Adding the below CSS fixes it:
.section_block_cell:first-of-type {
float: left;
}
Updated JSFiddle.
This works even with non display: table-cell elements...

Related

Getting the collapsible boxes to be in a row

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

Vertically align element inside of a floating div with no known height

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;

Text below image not displaying

FYI I’m noob with code, so as much help you can give is greatly appreciated. So I have some nice css to give me equidistant images, but when I try to add text below each image, it doesn’t display. In Brackets I can see a super thin line below the image, but no text. Tried tweaking css for the text and image div but no luck.
Fiddle is here: https://jsfiddle.net/datCodeTho/feosv4Lv/
Here's the html:
<div id="container">
<div><img src="http://www.craighuff.ca/img/STIRR_LOW-FI_RECORD_comp.jpg" id="wire1" alt="Stirr wireframe low-fi record screen">
<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 </p>
</div>
<div><img src="http://www.craighuff.ca/img/STIRR_LOW-FI_RECORD_comp.jpg" id="wire2" alt="Stirr wireframe low-fi record screen"></div>
<div><img src="http://www.craighuff.ca/img/STIRR_LOW-FI_RECORD_comp.jpg" id="wire3" alt="Stirr wireframe low-fi record screen"></div>
</div>
<div id="belowImages"></div>
And here's the css:
#container {
text-align: justify;
border: 10px solid black;
font-size: 0.1px; /* IE 9/10 don't like font-size: 0; */
}
#container div {
width: 30%;
display: inline-block;
background: red;
}
#container:after {
content: '';
width: 100%; /* Ensures there are at least 2 lines of text, so justification works */
display: inline-block;
}
#wire1{
display: block;
width: 100%;
}
#wire2{
display: block;
width: 100%;
}
#wire3{
display: block;
width: 100%;
}
#belowImages {
display: block;
height: 300px;
border: 10px solid black;
background: red;
font-size: 0.1px; /* IE 9/10 don't like font-size: 0; */
min-width: 600px;
}
Just define a style your p-tag:
#container p {
padding: 3px 5px;
color: white;
font-size:9px;
}

Keeping footer on to the bottom with 2 divs on sides and main content

I am sorry for not beeing able to produce much code, otherwise my assignment could be detected as plagiarism. Following this tutorial I was able to create a sticky footer when having no sidebars. Trying to do the same with 2 divs -> "left-sidebar" and "right-sidebar" I got this:
html,
body {
margin: 0;
padding: 0;
height: 100%;
}
#wrapper {
min-height: 100%;
position: relative;
}
header {
padding: 10px;
}
footer {
position: absolute;
left: 0;
bottom: 0;
height: 40px;
width: 100%;
text-align: center;
color: #fff;
background: #333;
}
#main-content {
position: absolute;
width: 60%;
margin-left: 15%;
padding-bottom: 40px;
/* Height of the footer */
}
#left-sidebar {
width: 15%;
position: absolute;
left: 0;
word-wrap: break-word;
padding-bottom: 40px;
}
#right-sidebar {
right: 0;
position: absolute;
width: 15%;
word-wrap: break-word;
padding-bottom: 40px;
}
<body>
<div id="wrapper">
<header>
</header>
<div id="left-sidebar">
</div>
<div id="main-content">
</div>
<div id="right-sidebar">
</div>
<footer>
</footer>
</div>
</body>
My technique is based on declaring the wrapper's position as relative, and the inside elements' as absolute. I know there is another technique when declaring the footers position relative as well, and then writing it outside of wrapper. If one could provide both solutions, I would be really happy! Thanks!
#I am exploring possibilities, so I'm trying to solve this without the "push" div
#What I actually want to achieve is this mockup
And I don't wanna used fixed position for footer, because its gonna stick to the bottom of my window and not of the "page"
I just dont understand these dumb haters downvoting for nothing, at least you could comment and give a critic!
You could achieve that like this:
html {
position: relative;
min-height: 100%;
}
body {
margin: 0 0 40px; /* bottom = footer height */
}
footer {
position: absolute;
left: 0;
bottom: 0;
height: 40px;
width: 100%;
background: #333;
}
header {
padding: 10px;
background: #333;
}
#wrapper {
min-height: 100%;
position: relative;
font-size: 0px;
}
#main-content {
width: 60%;
margin-right: 10%;
padding-bottom: 40px;
display: inline-block;
vertical-align: top;
font-size: 16px;
}
#left-sidebar {
width: 15%;
padding-bottom: 40px;
display: inline-block;
vertical-align: top;
font-size: 16px;
}
#right-sidebar {
width: 15%;
padding-bottom: 40px;
display: inline-block;
vertical-align: top;
font-size: 16px;
}
<header></header>
<div id="wrapper">
<div id="left-sidebar"></div>
<div id="main-content">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.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.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 id="right-sidebar"></div>
</div>
<footer></footer>
http://plnkr.co/edit/roZhOyMUxkFmpsYr9tKW?p=preview
html,
body {
box-sizing: border-box;
font: 400 16px/1.5'Palatino Linotype';
height: 100vh;
width: 100vw;
overflow: hidden;
}
*,
*:before,
*:after {
box-sizing: inherit;
margin: 0;
padding: 0;
border: 0;
}
body {
background-color: #222;
color: #EFE;
font-variant: small-caps;
overflow: hidden;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.shell {
position: relative;
padding: 1.5em .75em;
margin: 0 auto;
height: 100%;
width: 100%;
}
.content {
position: absolute;
left: 17vw;
top: 10vh;
outline: 3px dashed yellow;
width: 66vw;
height: 100vh;
overflow-y: auto;
padding: 15px;
}
header,
footer {
width: 100%;
height: 10vh;
position: fixed;
left: 0;
outline: 2px solid cyan;
padding: 12px;
z-index: 100;
background-color: hsla(160, 0%, 181%, .4);
}
footer {
margin-top: 1.5em;
bottom: 0;
}
header {
margin-bottom: 1.5em;
top: 0;
}
article {
outline: 3px dashed white;
height: 100%;
}
section {
width: 100%;
outline: 1px solid lime;
height: 20vh;
}
.left,
.right {
outline: 2px solid red;
position: absolute;
top: 10vh;
width: 23vh;
height: 80vh;
padding: 5px;
}
.left {
left: 0;
}
.right {
right: 0;
}
<!doctype html>
<html>
<head>
<link href="style.css" rel="stylesheet">
</head>
<body>
<div class="shell">
<header>
<h1>H1 - Header</h1>
</header>
<nav class="left">
<h4>H4 - Nav</h4>
</nav>
<main class="content">
<h1>H1 - Main</h1>
<article class="blog">
<h2>H2 - Article</h2>
<section id="intro">
<h3>H3 - Section - Introduction</h3>
</section>
<section id="part1">
<h3>H3 - Section - Part 1</h3>
</section>
<section id="part2">
<h3>H3 - Section - Part 2</h3>
</section>
<section id="part3">
<h3>H3 - Section - Part 3</h3>
</section>
</article>
</main>
<aside class="right">
<h4>H4 - Aside</h4>
</aside>
<footer>
<h3>H3 - Footer</h3>
</footer>
</div>
</body>
</html>
There is a simple solution.
You want the header to stay at the top of you page, the footer at the bottom, and the sidebars/content will scroll
Add this to your CSS header:
position: fixed;
width: 100%;
z-index: 999;
Just change your CSS footer from 'absolute' positioning, to 'fixed' like so:
position: fixed;

Align text to right of checkbox and center buttons

I want my HTML/CSS to match what it does in the following picture:
This is currently what my HTML/CSS looks like:
There are four things that I am having issues with in my HTML/CSS that the picture is currently doing:
Align the text to the right of the checkbox in such a way that no text appears directly below the checkbox
Make the two buttons in the picture the same size
Make the two buttons centered according to the white text paragraph above
I can't seem to do #2 and #3 at the same time.
Any other discrepancies between the two pictures can be ignored.
How do I accomplish items 1-4 as mentioned above?
This is the plunker link: http://plnkr.co/edit/dfZg2C1ZrqdeSdoBa21t?p=preview
This is the HTML code:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<div id="LoadingDiv">
<div class="LoadingText">
<p style="color:red"><strong>Attention! You must agree to continue with Online Forms</strong></p>
<p><input type="checkbox"/>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 class="btn-group">
<button class="btn btn-dont-allow">DON'T ALLOW</button>
<button class="btn btn-consent-ok">OK</button>
</div>
</div>
</div>
</body>
</html>
This is the CSS:
#LoadingDiv .btn {
min-width: 30%;
}
#LoadingDiv .btn-group {
margin-left:35%;
position: relative;
}
#LoadingDiv .LoadingText {
position: relative;
left: 25%;
top: 25%;
width: 50%;
color: white;
}
#LoadingDiv .btn-dont-allow {
background-color: #808083;
color: #ffffff;
padding: 3px 50px;
font-size: 16px;
margin-left: 3px;
margin-right: 3px;
}
#LoadingDiv .btn-consent-ok {
background-color: #1aa8de;
color: #ffffff;
padding: 3px 50px;
font-size: 16px;
margin-left: 3px;
margin-right: 3px;
}
#LoadingDiv {
margin: 0px 0px 0px 0px;
position: fixed;
padding: 0;
margin: 0;
top: 0;
left: 0;
height: 100%;
z-index: 9999;
width: 100%;
clear: none;
background-color: rgba(68, 176, 129, 0.9);
}
P.S: The markup in this picture was not created using HTML/CSS, but a prototyping app, so I can't just extract it from its source.
See this fiddle https://jsfiddle.net/DIRTY_SMITH/avocyf33/7/
added this
p {
display: block;
padding-left: 15px;
text-indent: -15px;
}
input {
width: 13px;
height: 13px;
padding: 0;
margin:0;
vertical-align: bottom;
position: relative;
top: -1px;
}
and added min-width: 400px; to btn-group to keep buttons from wrapping.
Jsfiddle
#LoadingDiv .btn {
min-width: 30%;
}
#LoadingDiv .btn-group {
display: inline-block;
}
#LoadingDiv .LoadingText {
position: relative;
left: 25%;
top: 25%;
width: 50%;
color: white;
}
#LoadingDiv .btn-dont-allow {
background-color: #808083;
color: #ffffff;
padding: 3px 50px;
font-size: 16px;
margin-left: 3px;
margin-right: 3px;
}
#LoadingDiv .btn-consent-ok {
background-color: #1aa8de;
color: #ffffff;
padding: 3px 50px;
font-size: 16px;
margin-left: 3px;
margin-right: 3px;
}
#LoadingDiv {
margin: 0px 0px 0px 0px;
position: fixed;
padding: 0;
margin: 0;
top: 0;
left: 0;
height: 100%;
z-index: 9999;
width: 100%;
clear: none;
background-color: rgba(68, 176, 129, 0.9);
}
.check {
width: 15px;
height: 15px;
padding: 0;
margin: 0;
vertical-align: bottom;
position: relative;
top: -3px;
}
.agree {
display: inline-block;
margin-left: 30px;
margin-top: -22px;
vertical-align: top;
}
<body>
<div id="LoadingDiv">
<div class="LoadingText">
<p style="color:red"><strong>Attention! You must agree to continue with Online Forms</strong>
</p>
<input type="checkbox" class="check">
<p class="agree">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 class="btn-group">
<button class="btn btn-dont-allow">DON'T ALLOW</button>
<button class="btn btn-consent-ok">OK</button>
</div>
</div>
</div>
</body>
</html>