首页 > 其他分享 >Web应用课 2.4 CSS——flex、响应式布局

Web应用课 2.4 CSS——flex、响应式布局

时间:2024-06-20 22:21:03浏览次数:27  
标签:flex direction Web 元素 content wrap CSS justify

flex布局

主轴方向 flex-direction

CSS flex-direction 属性指定了内部元素是如何在 flex 容器中布局的,定义了主轴的方向(正方向或反方向)。

/* 文本排成行的方向 */
flex-direction: row;

/* 类似于 <row>,但方向相反 */
flex-direction: row-reverse;

/* 文本排成列的方向 */
flex-direction: column;

/* 类似于 <column>,但方向相反 */
flex-direction: column-reverse;

/* 全局值 */
flex-direction: inherit;
flex-direction: initial;
flex-direction: revert;
flex-direction: revert-layer;
flex-direction: unset;

是否换行 flex-wrap

CSS 的 flex-wrap 属性指定 flex 元素单行显示还是多行显示。如果允许换行,这个属性允许你控制行的堆叠方向。

flex-wrap: nowrap; /*单行 Default value */
flex-wrap: wrap;/*多行*/
flex-wrap: wrap-reverse;/*从下往上多行显示*/

/* Global values */
flex-wrap: inherit;
flex-wrap: initial;
flex-wrap: revert;
flex-wrap: unset;

摆放顺序 flex-flow

CSS flex-flow 属性是 flex-direction 和 flex-wrap 的简写。默认值为:row nowrap。

主轴对齐方式 justify-content

/* Positional alignment */
justify-content: center; /* 水平居中排列 */
justify-content: start; /* Pack items from the start */
justify-content: end; /* Pack items from the end */
justify-content: flex-start; /* 从行首起始位置开始排列 */
justify-content: flex-end; /* 从行尾位置开始排列 */
justify-content: left; /* Pack items from the left */
justify-content: right; /* Pack items from the right */

/* Baseline alignment */
justify-content: baseline;
justify-content: first baseline;
justify-content: last baseline;

/* Distributed alignment */
justify-content: space-between; /* 两端对齐 */
justify-content: space-around; /* 均匀排列每个元素每个元素周围分配相同的空间 */
justify-content: space-evenly; /* 均匀排列每个元素
                                   每个元素之间的间隔相等 */
justify-content: stretch; /* 均匀排列每个元素
                                   'auto'-sized 的元素会被拉伸以适应容器的大小 */

/* Overflow alignment */
justify-content: safe center;
justify-content: unsafe center;

/* Global values */
justify-content: inherit;
justify-content: initial;
justify-content: unset;

交叉轴竖向对齐方式 align-items

它控制子元素在交叉轴上的对齐。

  • flex-start:元素向主轴起点对齐。
  • flex-end:元素向主轴终点对齐。
  • center:元素竖直居中。
  • stretch:弹性元素被在侧轴方向被拉伸到与容器相同的高度或宽度。

align-content

CSS 的 align-content 属性设置了浏览器如何沿着弹性盒子布局的纵轴和网格布局的主轴在内容项之间和周围分配空间。

  • flex-start:所有行从垂直轴起点开始填充。第一行的垂直轴起点边和容器的垂直轴起点边对齐。接下来的每一行紧跟前一行。
  • flex-end:所有行从垂直轴末尾开始填充。最后一行的垂直轴终点和容器的垂直轴终点对齐。同时所有后续行与前一个对齐。
  • center:所有行朝向容器的中心填充。每行互相紧挨,相对于容器居中对齐。容器的垂直轴起点边和第一行的距离相等于容器的垂直轴终点边和最后一行的距离。
  • stretch:拉伸所有行来填满剩余空间。剩余空间平均地分配给每一行。

案例:实现水平和竖直居中

.div-flex{
    width: 50%;
    height: 500px;
    background-color: lightgray;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;/*元素水平居中*/
    align-items: center;/*元素竖直居中*/
    text-align: center;/*文字水平居中*/
}

order 顺序

定义flex项目的顺序,值越小越靠前。

案例:让奇数块排在偶数块的前面

.div-flex-item{
    width: 100px;
    height: 100px;

}

.div-flex-item:nth-child(odd){
    background-color: lightpink;
    order: 1;
}

.div-flex-item:nth-child(even){
    background-color: lightgreen;
    order: 2;
}

flex-grow 拉伸

CSS 属性 flex-grow CSS 设置 flex 项主尺寸 的 flex 增长系数。
负值无效,默认为 0。

flex-shrink 缩小

CSS flex-shrink 属性指定了 flex 元素的收缩规则。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。
负值无效,默认为1。

flex-basis 初始宽度

CSS 属性 flex-basis 指定了 flex 元素在主轴方向上的初始大小。
取值:
width 值可以是length; 该值也可以是一个相对于其父弹性盒容器主轴尺寸的百分数 。负值是不被允许的。默认为 auto。

flex三属性缩写 flex-grow、flex-shrink、flex-basis的缩写

常用取值:

auto:flex: 1 1 auto /*随着父元素自动延伸和缩小*/
none:flex: 0 0 auto /*不延伸也不缩小*/

响应式布局 适应不同设备屏幕,如手机,平板,电脑

media查询 当屏幕宽度满足特定条件时应用css

@media(min-width: 768px) {
    .container {
        width: 960px;
        background-color: lightblue;
    }
}

示例:屏幕宽度大于768显示青色,否则显示紫色

/*大于768的屏幕认为宽屏,小于认为small*/
@media (min-width: 768px){
    .card{
        background-color: aquamarine;/*大于768的屏幕显示青色,小于显示紫色*/
    }
}

示例:栅格化布局

标签:flex,direction,Web,元素,content,wrap,CSS,justify
From: https://www.cnblogs.com/zjq182/p/18246849

相关文章

  • CSS新手入门笔记【导入方法、选择器介绍、选择器优先级、属性详细介绍、盒子模型】
    目录一、目的与优势二、CSS导入方式三、语法结构四、选择器类型基本选择器组合选择器伪类与伪元素属性选择器六、选择器优先级总结六、CSS属性1.字体与文本属性2.背景属性3.尺寸与盒模型属性4.布局与定位5.列表样式6.边框与轮廓7.文本装饰与效果8.动画与过渡......
  • Web安全中的XSS攻击详细教学(一),Xss-Labs靶场通关全教程(建议收藏)
    Web安全中的XSS攻击详细教学,Xss-Labs靶场通关全教程(建议收藏)漏洞原理xss(crosssitescript)跨站脚本攻击,指的是攻击者往web页面插入恶意脚本代码,当用户浏览时,嵌入web页面里的脚本代码就会执行,从而达到恶意攻击用户的特殊目的,它主要分为俩种类型1. 存储型XSS(持久型):攻击者将......
  • 从零开始学Web安全,文件包含漏洞详解
    从零开始学Web安全,文件包含漏洞详解大家好,我是[小羽],一个对网络安全充满热情的小白。今天,我将与大家分享我的网络安全中的Web安全学习笔记什么是文件包含漏洞?,这里很详细的介绍了Sql注入的各种类型防御的方法。靶场:dvwa,pikachu服务器:centos7数据库:mysql5.7php:8.0nginx:1.......
  • 深入探索WebKit中的跨域资源共享(CORS)实现
    跨域资源共享(CORS)是一个安全协议,允许不同源之间的资源共享。在现代Web应用中,CORS对于实现WebAPI调用、Ajax跨域请求等至关重要。WebKit作为广泛使用的浏览器引擎之一,其对CORS的支持直接影响到Web应用的跨域交互能力。本文将深入探讨WebKit如何实现CORS,以及这一机制对开发者......
  • webpack项目开发完后,如何优化打包速度?
    Gzip压缩前端页面文件缓存我们先来简单回顾下http缓存的知识:HTTP1.0是通过Expires(文件过期时间)和Last-Modified(最近修改时间)来告诉浏览器进行缓存的,这两个字段都是UTC时间(绝对时间)。Expires过期控制不稳定,因为浏览器端可以随意修改本地时间,导致缓存使用不精准。而且L......
  • 使用Ollama+OpenWebUI本地部署阿里通义千问Qwen2 AI大模型
    ......
  • CentOS7系统搭建web环境 php&nginx&pgsql
    环境:VMware、CentOS-7-x86_64-DVD-2009.iso、nginx-1.26.1、php-7.2.0、postgresql-12php最好安装对应php项目所需版本,否则会出现不兼容问题。一、VMware安装CentOS7操作系统下载LinuxCentos7映像:https://mirrors.aliyun.com/centos/7/isos/x86_64/?spm=a2c6h.25603864.0.......
  • 详解Web应用安全系列(1)注入漏洞之SQL注入
    注入漏洞通常是指在可输入参数的地方,通过构造恶意代码,进而威胁应用安全和数据库安全。常见的注入漏洞包括:SQL注入和XSS跨站脚本攻击。这篇文章我们主要讲SQL注入,SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查......
  • 5.21实验三 Web数据库程序设计
    一、实验目的通过使用JSP技术设计一个简单的数据库管理系统,了解展示页面和编辑页面的区别,掌握Web服务器与MySQL数据库的连接和数据库操作的方法,掌握使用Java语言编写JSP文件的方法。二、实验内容和基本要求从以下列举的四个数据库中,任选其一,或者自行定义其他数据库,每个数据库中......
  • 学生个人html静态网页制作 基于HTML+CSS+JavaScript+jquery仿苏宁易购官网商城模板
    ......