JSFiddle - React, Tailwind, and code Playground
HTML
<div class="parent">
<button class="child">button</button>
<button class="child">button</button>
</div>
<div class="grid">
<h1>Subscribe to this form</h1>
<label>
<input type="text"/> Name
</label>
<label>
<input type="text"/> Email
</label>
<button>Subscribe</button>
</div>
CSS
h1 {
all: initial;
font-family: Arial;
font-size: 18px;
font-weight: bold;
}
button {
font-size: 16px;
padding: 10px;
border-radius: 4px;
border: 0;
color: white;
background-color: #03a9f4;
}
label {
font-family: Arial;
font-size: 18px;
color: gray;
}
input {
font-size: 16px;
margin-right: 10px;
border: 0;
border-radius: 4px;
padding: 10px;
}
.parent {
display: flex;
flex-direction: column;
padding: 10px;
border: 1px solid gray;
border-radius: 4px;
}
.child {
margin: 5px;
}
@media (min-width: 500px) {
.parent {
flex-direction: initial;
}
}
.child {
display: block;
}
/* grid */
.grid {
display: grid;
grid-gap: 10px 20px;
grid-template-columns: 1fr;
grid-template-rows: auto 1fr 1fr auto;
grid-template-areas:
'header'
'none'
'none'
'button'
;
margin-top: 10px;
padding: 10px;
border: 1px solid gray;
border-radius: 4px;
}
@media (min-width: 500px) {
.grid {
grid-template-columns: 1fr 1fr;
grid-template-rows: auto 1fr auto;
grid-template-areas:
'header header'
'none none'
'button button'
;
}
}
.grid h1 {
text-align: center;
grid-area: header;
}
.grid label {
display: flex;
align-items: center;
}
.grid input {
flex-grow: 1;
margin-right: 10px;
}
.grid button {
background-color: #03a9f4;
grid-column-start: 1;
grid-column-end: span 2;
grid-area: button;
}