Siehe CSS - Flexbox: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „Siehe CSS - Flexbox“)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
−
== Links ==
+
Siehe [[CSS - Flexbox]]
−
https://medium.freecodecamp.org/the-ultimate-guide-to-flexbox-learning-through-examples-8c90248d4676
 
−
https://www.w3schools.com/css/css3_flexbox.asp
 
−
 
 
−
== Einleitung ==
 
−
Before the Flexbox Layout module, there were four layout modes:
 
−
 
 
−
<pre>
 
−
Block, for sections in a webpage
 
−
Inline, for text
 
−
Table, for two-dimensional table data
 
−
Positioned, for explicit position of an element
 
−
</pre>
 
−
The Flexible Box Layout Module, makes it easier to design flexible responsive layout structure without using float or positioning.
 
−
== Properties ==
 
−
<pre>
 
−
flex-direction
 
−
flex-wrap
 
−
flex-flow
 
−
justify-content
 
−
align-items
 
−
align-content
 
−
</pre>
 
−
 
 
−
The '''flex-direction''' property defines in which '''direction''' the container wants to stack the flex items.
 
−
column
 
−
row
 
−
column-reverse
 
−
row-reverse
 
−
 
 
−
The '''flex-wrap''' property specifies whether the flex items should '''wrap or not'''.
 
−
wrap
 
−
nowrap
 
−
wrap-reverse
 
−
 
 
−
The '''flex-flow''' property is a '''shorthand''' property for setting both the flex-direction and flex-wrap properties.
 
−
row wrap
 
−
...
 
−
 
 
−
The '''justify-content''' property is used to '''align''' the flex items:
 
−
center
 
−
flex-start
 
−
flex-end
 
−
space-around
 
−
space-between
 
−
 
 
−
The '''align-items''' property is used to '''align''' the flex items '''vertically'''
 
−
center
 
−
flex-start
 
−
flex-end
 
−
stretch
 
−
baseline
 
−
 
 
−
The '''align-content''' property is used to '''align the flex lines'''.
 
−
space-between
 
−
space-around
 
−
stretch
 
−
center
 
−
flex-start
 
−
flex-end
 
−
 
 
−
'''Child Elements (Items)'''
 
−
 
 
−
The '''direct child elements''' of a flex container automatically '''becomes flexible (flex) items'''.
 
−
 
 
−
The '''order property''' specifies the order of the flex items.
 
−
<pre>
 
−
<div class="flex-container">
 
−
  <div style="order: 3">1</div>
 
−
  <div style="order: 2">2</div>
 
−
  <div style="order: 4">3</div>
 
−
  <div style="order: 1">4</div>
 
−
</div>
 
−
</pre>
 
−
 
 
−
The '''flex-grow''' property specifies how much a flex item will grow relative to the rest of the flex items.
 
−
 
 
−
Make the third flex item grow eight times faster than the other flex items:
 
−
<pre>
 
−
<div class="flex-container">
 
−
  <div style="flex-grow: 1">1</div>
 
−
  <div style="flex-grow: 1">2</div>
 
−
  <div style="flex-grow: 8">3</div>
 
−
</div>
 
−
</pre>
 
−
 
 
−
The '''flex-shrink''' property specifies how much a flex item will shrink relative to the rest of the flex items.
 
−
Do not let the third flex item shrink as much as the other flex items:
 
−
<pre>
 
−
<div class="flex-container">
 
−
  <div>1</div>
 
−
  <div>2</div>
 
−
  <div style="flex-shrink: 0">3</div>
 
−
  <div>4</div>
 
−
</pre>
 
−
 
 
−
The '''flex-basis''' property specifies the '''initial length''' of a flex item.
 
−
<div style="flex-basis: 200px">3</div>
 
−
 
 
−
The '''flex''' property is a '''shorthand''' property for the flex-grow, flex-shrink, and flex-basis properties
 
−
<div style="flex: 0 0 200px">3</div>
 
−
 
 
−
The '''align-self''' property specifies the '''alignment for the selected item inside the flexible container'''.
 
−
 
 
−
The align-self property overrides the default alignment set by the container's align-items property.
 
−
 
 
−
== Beispiele ==
 
−
=== Fotogrid ===
 
−
<syntaxhighlight lang="html5">
 
−
<!DOCTYPE html>
 
−
<html>
 
−
<style>
 
−
* {
 
−
    box-sizing: border-box;
 
−
}
 
−
 
 
−
body {
 
−
    margin: 0;
 
−
    font-family: Arial;
 
−
}
 
−
 
 
−
.header {
 
−
    text-align: center;
 
−
    padding: 32px;
 
−
}
 
−
 
 
−
.row {
 
−
    display: flex;
 
−
    flex-wrap: wrap;
 
−
    padding: 0 4px;
 
−
}
 
−
 
 
−
/* Create four equal columns that sits next to each other */
 
−
.column {
 
−
    flex: 25%;
 
−
    max-width: 25%;
 
−
    padding: 0 4px;
 
−
}
 
−
 
 
−
.column img {
 
−
    margin-top: 8px;
 
−
    vertical-align: middle;
 
−
}
 
−
 
 
−
/* Responsive layout - makes a two column-layout instead of four columns */
 
−
@media (max-width: 800px) {
 
−
    .column {
 
−
        flex: 50%;
 
−
        max-width: 50%;
 
−
    }
 
−
}
 
−
 
 
−
/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
 
−
@media (max-width: 600px) {
 
−
    .column {
 
−
        flex: 100%;
 
−
        max-width: 100%;
 
−
    }
 
−
}
 
−
</style>
 
−
<body>
 
−
 
 
−
<!-- Header -->
 
−
<div class="header">
 
−
  <h1>Responsive Image Grid</h1>
 
−
  <p>Resize the browser window to see the responsive effect.</p>
 
−
</div>
 
−
 
 
−
<!-- Photo Grid -->
 
−
<div class="row">
 
−
  <div class="column">
 
−
    <img src="/w3images/wedding.jpg" style="width:100%">
 
−
    <img src="/w3images/rocks.jpg" style="width:100%">
 
−
    <img src="/w3images/falls2.jpg" style="width:100%">
 
−
    <img src="/w3images/paris.jpg" style="width:100%">
 
−
    <img src="/w3images/nature.jpg" style="width:100%">
 
−
    <img src="/w3images/mist.jpg" style="width:100%">
 
−
    <img src="/w3images/paris.jpg" style="width:100%">
 
−
  </div>
 
−
  <div class="column">
 
−
    <img src="/w3images/underwater.jpg" style="width:100%">
 
−
    <img src="/w3images/ocean.jpg" style="width:100%">
 
−
    <img src="/w3images/wedding.jpg" style="width:100%">
 
−
    <img src="/w3images/mountainskies.jpg" style="width:100%">
 
−
    <img src="/w3images/rocks.jpg" style="width:100%">
 
−
    <img src="/w3images/underwater.jpg" style="width:100%">
 
−
  </div> 
 
−
  <div class="column">
 
−
    <img src="/w3images/wedding.jpg" style="width:100%">
 
−
    <img src="/w3images/rocks.jpg" style="width:100%">
 
−
    <img src="/w3images/falls2.jpg" style="width:100%">
 
−
    <img src="/w3images/paris.jpg" style="width:100%">
 
−
    <img src="/w3images/nature.jpg" style="width:100%">
 
−
    <img src="/w3images/mist.jpg" style="width:100%">
 
−
    <img src="/w3images/paris.jpg" style="width:100%">
 
−
  </div>
 
−
  <div class="column">
 
−
    <img src="/w3images/underwater.jpg" style="width:100%">
 
−
    <img src="/w3images/ocean.jpg" style="width:100%">
 
−
    <img src="/w3images/wedding.jpg" style="width:100%">
 
−
    <img src="/w3images/mountainskies.jpg" style="width:100%">
 
−
    <img src="/w3images/rocks.jpg" style="width:100%">
 
−
    <img src="/w3images/underwater.jpg" style="width:100%">
 
−
  </div>
 
−
</div>
 
−
 
 
−
</body>
 
−
</html>
 
−
</syntaxhighlight>
 

Aktuelle Version vom 16. August 2018, 22:32 Uhr