Jonas Hellwig
kulturbanause.de
@_kulturbanause
Designer, Developer, Writer @_kulturbanause
Seminare, Workshops, Beratung
Entwicklung bis heute
Inline Block, VH, Typo, Quantity Queries, Multi Columns, Flex, Grid …
100% JavaScript free!
Flexible Media
Flexible Grid
Media Queries
Floats (%)
CSS Frameworks (%)
Frameworks
Erfunden vor Flexbox und Grid
Abfrage des Viewports
Passen nicht zu modularem Design
Zu viel Code
Erstklassiges RWD ist
nach wie vor komplex!
Überhaupt notwendig?
Abhängig vom Content, nicht vom Device
Pro UI Komponente
Element Queries?
<figure>
<img src="bild.jpg" alt />
<figcaption>Text</figcaption>
</figure>
figure {
text-align: center;
}
figcaption {
display: inline-block;
text-align: left;
}
h1 {
font-size: 12vw;
}
h1 {
font-size: 7vw;
}
p {
font-size: 4vw;
}
a {
font-size: 4vw;
padding: 0.5em 1em;
border: 0.1em solid gold;
margin-top: 2vw;
}
body {
font-size: calc([min size] + ([max size] - [min size]) *
((100vw - [min viewport]) / ([max viewport] - [min viewport])));
}
body {
font-size: calc(16px + (28 - 16) *
((100vw - 320px) / (1600 - 320)));
}
p {
column-width: 300px;
column-gap: 3em;
}
p {
columns: 2 300px;
column-gap: 3em;
}
ul li:nth-last-child(n+5),
ul li:nth-last-child(n+5) ~ li {
background: red;
}
<div class="card">
<div class="media"></div>
<div class="content">
<h2>Überschrift</h2>
<p>Lorem ipsum … </p>
</div>
</div>
.card {
display: flex;
flex-wrap: wrap;
}
.card > * {
flex-grow: 1;
flex-shrink: 1;
flex-basis: 280px;
}
.container {
display: flex;
flex-wrap: wrap;
}
.container > * {
flex: 1 1 calc(280px + 2em);
}
.card {
margin: 1em;
}
.media img {
object-fit: cover;
}
.flex-item {
flex-basis: calc(800px * 999 - 100% * 999); /* 800px = Breakpoint */
}
.grid {
display: grid;
grid-template-columns: 300px 300px 300px;
}
.grid {
display: grid;
grid-template-columns:
minmax(300px, 500px)
minmax(300px, 500px)
minmax(300px, 500px)
;
}
.grid {
display: grid;
grid-template-columns: repeat(3, minmax(300px, 500px));
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 500px));
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
grid-auto-rows: 1fr;
}
Inline Block, VH, Typo, Quantity Queries, Multi Columns, Flex, Grid …
Media Queries sind nicht überflüssig!
Breakpoints nicht auf Geräte setzen!
kulturbanause.de
blog.kulturbanause.de
@_kulturbanause