zoukankan      html  css  js  c++  java
  • CSS: Flexbox

    Use flexbox to create a responsive website, containing a flexible navigation bar and flexible content:

    <!DOCTYPE html>
    <html>
    <head>
    <title>Page Title</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
    * {
      box-sizing: border-box;
    }
    
    /* Style the body */
    body {
      font-family: Arial;
      margin: 0;
    }
    
    /* Header/logo Title */
    .header {
      padding: 60px;
      text-align: center;
      background: #1abc9c;
      color: white;
    }
    
    /* Style the top navigation bar */
    .navbar {
      display: flex;
      background-color: #333;
    }
    
    /* Style the navigation bar links */
    .navbar a {
      color: white;
      padding: 14px 20px;
      text-decoration: none;
      text-align: center;
    }
    
    /* Change color on hover */
    .navbar a:hover {
      background-color: #ddd;
      color: black;
    }
    
    /* Column container */
    .row {  
      display: flex;
      flex-wrap: wrap;
    }
    
    /* Create two unequal columns that sits next to each other */
    /* Sidebar/left column */
    .side {
      flex: 30%;
      background-color: #f1f1f1;
      padding: 20px;
    }
    
    /* Main column */
    .main {
      flex: 70%;
      background-color: white;
      padding: 20px;
    }
    
    /* Fake image, just for this example */
    .fakeimg {
      background-color: #aaa;
      width: 100%;
      padding: 20px;
    }
    
    /* Footer */
    .footer {
      padding: 20px;
      text-align: center;
      background: #ddd;
    }
    
    /* Responsive layout - when the screen is less than 700px wide, make the two columns stack on top of each other instead of next to each other */
    @media screen and (max- 700px) {
      .row, .navbar {   
        flex-direction: column;
      }
    }
    </style>
    </head>
    <body>
    
    <!-- Note -->
    <div style="background:yellow;padding:5px">
      <h4 style="text-align:center">Resize the browser window to see the responsive effect.</h4>
    </div>
    
    <!-- Header -->
    <div class="header">
      <h1>My Website</h1>
      <p>With a <b>flexible</b> layout.</p>
    </div>
    
    <!-- Navigation Bar -->
    <div class="navbar">
      <a href="#">Link</a>
      <a href="#">Link</a>
      <a href="#">Link</a>
      <a href="#">Link</a>
    </div>
    
    <!-- The flexible grid (content) -->
    <div class="row">
      <div class="side">
        <h2>About Me</h2>
        <h5>Photo of me:</h5>
        <div class="fakeimg" style="height:200px;">Image</div>
        <p>Some text about me in culpa qui officia deserunt mollit anim..</p>
        <h3>More Text</h3>
        <p>Lorem ipsum dolor sit ame.</p>
        <div class="fakeimg" style="height:60px;">Image</div><br>
        <div class="fakeimg" style="height:60px;">Image</div><br>
        <div class="fakeimg" style="height:60px;">Image</div>
      </div>
      <div class="main">
        <h2>TITLE HEADING</h2>
        <h5>Title description, Dec 7, 2017</h5>
        <div class="fakeimg" style="height:200px;">Image</div>
        <p>Some text..</p>
        <p>Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
        <br>
        <h2>TITLE HEADING</h2>
        <h5>Title description, Sep 2, 2017</h5>
        <div class="fakeimg" style="height:200px;">Image</div>
        <p>Some text..</p>
        <p>Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
      </div>
    </div>
    
    <!-- Footer -->
    <div class="footer">
      <h2>Footer</h2>
    </div>
    
    </body>
    </html>

    Flexbox Elements

    To start using the Flexbox model, you need to first define a flex container.

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    .flex-container {
      display: flex;
      background-color: DodgerBlue;
    }
    
    .flex-container > div {
      background-color: #f1f1f1;
      margin: 10px;
      padding: 20px;
      font-size: 30px;
    }
    </style>
    </head>
    <body>
    
    <div class="flex-container">
      <div>1</div>
      <div>2</div>
      <div>3</div>  
    </div>
    
    <p>A Flexible Layout must have a parent element with the <em>display</em> property set to <em>flex</em>.</p>
    
    <p>Direct child elements(s) of the flexible container automatically becomes flexible items.</p>
    
    </body>
    </html>

    The flex container properties are:

    The flex-direction Property

    The flex-direction property defines in which direction the container wants to stack the flex items.

     column: (from top to bottom)
     row: (from bottom to top)
    The column-reverse value stacks the flex items vertically (but from bottom to top)

    The row-reverse value stacks the flex items horizontally (but from right to left)

    The flex-wrap Property

    The flex-wrap property specifies whether the flex items should wrap or not.

  • 相关阅读:
    python 17 函数基础(一)
    python 17 异常
    python 16 文件操作(二)
    python 15 文件操作(一)
    python 13 字符编码
    《转》python 12 列表解析
    《转》python 11 表达式和语句
    关于int型数据的SQL模糊查询猜想
    PB学习笔记
    JSONObject.fromObject()
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/10637159.html
Copyright © 2011-2022 走看看