首页 > 其他分享 >flex学习

flex学习

时间:2024-06-01 18:54:26浏览次数:16  
标签:flex 天空 container 容器 学习 橙色 border

1.flex布局:三行三列

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex布局:三行三列</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

         body *:not(.container) {
            background-color: sandybrown;
        }

       

        :root {
            /* rem */
            font-size: 10px;
        }
        body {
            font-size: 1.6rem;
        }
        header,footer{
            height: 5rem;
        }         
        body{
            height: 100vh;
            display:flex;
            flex-flow: column nowrap;
        }
        .container{
            margin:5px 0;
            flex: 1;
            display: flex;
            justify-content: space-between;

        }

        .container > aside {
            width: 20rem;
        }
        .container main{
            flex: 1;
            margin: 0 5px;
        }
    </style>
</head>
<body>
   <header>页眉</header>
   <div class="container">
    <aside>左侧</aside>
    <main>内容区</main>
    <aside>右侧</aside>
   </div>
   <footer>页脚</footer> 
    
</body>
</html>

2.flex容器与项目

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex容器与项目</title>
    <style>
        *{
          /* margin: 0;
          padding: 0; */
          box-sizing: border-box;
        }

        :root {
          font-size: 10px;
         }
         body {
          font-size: 1.6rem;
         }
         .container {
          border: 1px solid;
          height: 20rem;
          /* 转为flex容器,这样就可以使用flex特征进行布局了 */
          display: flex; 
         }
         /* flex项目必须是flex容器的直接子元素 */
         .container > .item{
         padding:1rem;
         background-color: thistle;
         border: 1px solid;
         }
         /* 1.任何一个可视元素,添加displau:flex后都可转为flex弹性容器 */
         /* 2.flex弹性容器内的直接子元素称之为flex项目,它是真正的布局目标对象 */


        </style>
</head>
<body>
    <!-- <div class="container"> -->
     <span class="container">
     <a class="container">
     <!-- .item {天空是橙色的$}*3 -->
     <div class="item">天空是橙色的1</div>
     <div class="item">天空是橙色的2</div>
     <div class="item">天空是橙色的3</div>
     <div class="item">天空是橙色的4</div>
     <div class="item">天空是橙色的5</div>
     <div class="item">天空是橙色的6</div>
     <div class="item">天空是橙色的7</div>
     <div class="item">天空是橙色的8</div>
      
      
    </span>
    
</body>
</html>
    

3.flex项目在主轴上是如何排列的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex项目在主轴上是如何排列的</title>
    <style>
        *{
          /* margin: 0;
          padding: 0; */
          box-sizing: border-box;
        }

        :root {
          font-size: 10px;
         }
         body {
          font-size: 1.6rem;
         }
         .container {
          /* border: 1px solid; */
          border: 1px dashed;
          background-color: blueviolet;
          /* height: 20rem; */
          width: 40;
          /* 转为flex容器,这样就可以使用flex特征进行布局了 */
          display: flex; 
          /* 允许换行,转为多行容器 */
          /* flex-wrap: wrap; */
          /* 主轴方向 */
          /* flex-dire`ction: row; */
          /* flex-direction: row-reverse; */
          /* flex-direction: column;  */
          /* flex-flow: 主轴方向 是否换行 */
          /* flex-flow: row nowrap; 默认值 */
          /* 有换行:多行容器 */
          /* 多行容器中,每一行都是一根主轴 */
          flex-flow: row wrap;
          
         }
         /* flex项目必须是flex容器的直接子元素 */
         .container > .item{
        /* 项目默认可收缩但不会放大 */
         padding:10rem;
         height: 10rem; 
         background-color: thistle;
         border: 1px solid;
         }
         /* 1.任何一个可视元素,添加displau:flex后都可转为flex弹性容器 */
         /* 2.flex弹性容器内的直接子元素称之为flex项目,它是真正的布局目标对象 */


        </style>
</head>
<body>
    <!-- <div class="container"> -->
     <span class="container">
     <a class="container">
     <!-- .item {天空是橙色的$}*3 -->
     <div class="item">天空是橙色的1</div>
     <div class="item">天空是橙色的2</div>
     <div class="item">天空是橙色的3</div>
     <div class="item">天空是橙色的4</div>
     <div class="item">天空是橙色的5</div>
     <div class="item">天空是橙色的6</div>
     <div class="item">天空是橙色的7</div>
     <div class="item">天空是橙色的8</div>
      
      
    </span>
    
</body>
</html>
    

4.flex项目在主轴上是如何对齐的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex项目在主轴上是如何对齐的</title>
    <style>
        *{
          box-sizing: border-box;
        }

        :root {
          font-size: 10px;
         }
         body {
          font-size: 1.6rem;
         }
         .container {
          border: 1px dashed;
          /* background-color: blueviolet; */
          height: 20rem;
          display: flex; 
          /* 主轴方向和是否换行取默认值 */
          flex-flow: row nowrap;
          /* 所有的项目在主轴上的对齐,有一个前提:主轴空间上必须存在剩余空间 */
          /* 所谓对齐就是主轴上的剩余空间如何在项目之间进行分配 */

          /* 默认:剩余空间位于所有项目的右边 */
          justify-content: flex-start; 
          justify-content: flex-end; 
          justify-content: center;  
          /* 剩余空间除了可以在所有项目的两边进行分配后,还可以在项目之间进行分配 */
          /* 二端对齐 */
          justify-content: space-between; 
          /* 分散对齐 */
          justify-content: space-around;
          /* 平均对齐 */
          justify-content: space-evenly; 

          /* 交叉轴对齐:交叉轴上也要有剩余空间 */
          align-items: stretch;
          align-items: flex-start;
          align-items: flex-end;
          align-items: center;

         }
         .container > .item{
        /* 项目默认可收缩但不会放大 */
         padding:1rem;
         height: 10rem;  
         background-color: thistle;
         border: 1px solid;
         }

        </style>
</head>
<body>
     <a class="container">
     <div class="item">天空是橙色的1</div>
     <div class="item">天空是橙色的2</div>
     <div class="item">天空是橙色的3</div>
     <div class="item">天空是橙色的4</div> 
    </span>
    
</body>
</html>

标签:flex,天空,container,容器,学习,橙色,border
From: https://www.cnblogs.com/QWD7986/p/18226264

相关文章

  • MyBatis系统学习篇 - 分页插件
    MyBatis是一个非常流行的Java持久层框架,它简化了数据库操作的代码。分页是数据库查询中常见的需求,MyBatis本身并不直接支持分页功能,但可以通过插件来实现,从而帮助我们在查询数据库的时候更加方便快捷引入依赖<dependency><groupId>com.github.pagehelper</groupId>......
  • 【Python爬虫--scrapy+selenium框架】超详细的Python爬虫scrapy+selenium框架学习笔记
    六,selenium想要下载PDF或者md格式的笔记请点击以下链接获取python爬虫学习笔记点击我获取Scrapy+selenium详细学习笔记点我获取Python超详细的学习笔记共21万字点我获取1,下载配置##安装:pipinstallselenium##它与其他库不同的地方是他要启动你电脑上的浏览器......
  • 【Python--openCV图像处理】Python学习-OpenCV图像处理基础超详细的学习笔记(黑马程序
    一,openCV基础说明:笔记是跟着B站黑马程序员的openCV课程时做的课程资料可以在黑马程序员评论区获取1,图像基本操作1-1图像基础操作1-1-1安装相关库pipinstallopencv-pythonpipinstallopencv-contrib-python##尽量保持两个库安装的版本,比如我都是4.9.0.80ope......
  • 00_Zotero学习资料汇总
    Zotero学习资料汇总目录页1.学习地址1.学习地址学习地址如下学习地址名称资源地址Zotero中文小组帮助文档https://zotero-chinese.com/科研学帮帮公众号作者的网站​Zotero7使用教程知乎https://zhuanlan.zhihu.com/p/68......
  • CSS(4)(学习笔记)
    一、定位1.1为什么需要定位有些效果,标准流或浮动都无法快速实现,此时需要定位来实现。(浮动不会压住文字和图片,浮动指挥影响后面的盒子不会影响前面的盒子)比如:所以:1.浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子。2.定位则是可以让盒子自由的在某个盒......
  • 吴恩达 机械学习笔记1
    机械学习的两个主要模型:笔记右下角有页码1.监督学习......
  • MapReduce学习之MapJoin案例实现
    MapReduce学习之MapJoin案例实现1.当前main方法所在的入口类packagecom.shujia.mr.mapJoin;importcom.shujia.mr.reduceJoin.ReduceJoin;importcom.shujia.mr.reduceJoin.ReduceJoinMapper;importcom.shujia.mr.reduceJoin.ReduceJoinReducer;importorg.apache.......
  • 学习前端的知识总结10
    CSS浮动网页布局方式有以下五种:标准流(普通流、文档流)︰网页按照元素的书写顺序依次排列浮动定位Flexbox和Grid(自适应布局)标准流是由块级元素和行内元素按照默认规定的方式来排列,块级就是占一行,行内元素一行放好多个元素。1.浮动浮动最典型的应用:可以让多个块级元素一行......
  • 学习前端的知识总结11
    1.浮动和标准流的父盒子搭配:先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置2.一个元素浮动了,理论其余的兄弟元素也要浮动:一个盒子里面有多个子盒子,如果其中一个盒子浮动了,那么其他兄弟也应该浮动,以防止引起问题。浮动的盒子只会影响浮动盒子后面的......
  • 学习前端的知识总结12
    8.定位浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子。定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子。1.定位组成:定位︰将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子。定位=定位模......