实验室分享--display:flex

文章链接:
实验室分享–float
实验室分享–居中对齐
实验室分享–伪类、伪元素
实验室分享–display:flex

  • 容器:采用Flex布局的元素
  • 项目:容器的所有子元素
  • 主轴:水平轴
  • 交叉轴:纵轴

一、容器的属性

flex-direction
flex-wrap
flex-flow(前两个属性合起来一起写)
justify-content
align-items
align-content

1、flex-direction:决定主轴的方向(即项目的排列方向)。
值:
column:主轴为垂直方向,起点在上沿。
column-reverse:主轴为垂直方向,起点在下沿。
row(默认值):主轴为水平方向,起点在左端。
row-reverse:主轴为水平方向,起点在右端。
在这里插入图片描述
2、flex-wrap:如何换行

nowrap(默认):不换行。
wrap:换行,第一行在上方。
wrap-reverse:换行,第一行在下方。
在这里插入图片描述

3、justify-content属性:项目在水平轴上的对齐方式。
值:
flex-start(默认值):左对齐
flex-end:右对齐
center: 居中
space-between:两端对齐,项目之间的间隔都相等。
space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
在这里插入图片描述

4、align-items:项目在纵轴上如何对齐。
值:
flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
在这里插入图片描述
5、align-content:多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
值:
flex-start:与交叉轴的起点对齐。
flex-end:与交叉轴的终点对齐。
center:与交叉轴的中点对齐。
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch(默认值):轴线占满整个交叉轴。
在这里插入图片描述

二、项目的属性

属性:
order
flex-grow
flex-shrink
flex-basis:属性定义了在分配多余空间之前,项目占据的主轴空间
flex:flex-grow, flex-shrink 和 flex-basis的简写
align-self

1、order:决定项目的排列顺序。数值越小,排列越靠前,默认为0。order: 数字;
在这里插入图片描述

2、flex-grow:属性定义项目的放大比例,默认为0。 flex-grow: < number>;

  • 如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。
    在这里插入图片描述
    3、flex-shrink属性:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
  • 如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。
  • 4、align-self属性:允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。该属性可能取6个值,除了auto,其他都与align-items属性完全一致。

文章链接:
实验室分享–float
实验室分享–居中对齐
实验室分享–伪类、伪元素
实验室分享–display:flex

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文件实验室/账号登录</title> <style> body { font-family: "楷体", serif; } .container { display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: 20px; } .input-container { display: flex; flex-direction: row; align-items: center; margin-right: 20px; width: 50%; } input[type="email"], input[type="text"] { padding: 10px; font-size: 16px; border: none; border-radius: 5px; margin-right: 10px; width: 100%; } #get-verification-code-btn, #login-btn { padding: 10px; font-size: 16px; background-color: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer; } #get-verification-code-btn.disabled { background-color: grey; cursor: not-allowed; } </style> </head> <body> <div class="container"> <h1>文件实验室/账号登录</h1> <div class="input-container"> <input type="email" placeholder="输入接收验证码的邮箱"> <button id="get-verification-code-btn">获取验证码</button> </div> <div class="input-container"> <input type="text" placeholder="输入验证码"> <button id="login-btn">登录</button> </div> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> var timer; var countdown = 60; function disableBtn() { $('#get-verification-code-btn').addClass('disabled'); $('#get-verification-code-btn').prop('disabled', true); timer = setInterval(function() { countdown--; $('#get-verification-code-btn').text(countdown + '秒后再试'); if (countdown == 0) { clearInterval(timer); enableBtn(); } }, 1000); } function enableBtn() { countdown = 60; $('#get-verification-code-btn').removeClass('disabled'); $('#get-verification-code-btn').prop('disabled', false); $('#get-verification-code-btn').text('获取验证码'); } $(document).ready(function() { $('#get-verification-code-btn').click(function() { disableBtn(); var email = $('input[type="email"]').val(); $.ajax({ type: "POST", url: "/admin/", data: {email: email}, success: function(response) { console.log(response); // handle response }, error: function(error) { console.log(error); } }); }); $('#login-btn').click(function() { var verificationCode = $('input[type="text"]').val(); $.ajax({ type: "POST", url: "/response/", data: {verificationCode: verificationCode}, success: function(response) { console.log(response); if (response == 'success') { window.location.href = 'https://www.spacexs.cn'; } else { alert('验证码错误,请重新输入'); } }, error: function(error) { console.log(error); } }); }); }); </script> </body> </html>
05-24
我需要你就帮我优化下面的代码,优化两个按钮的样式<!DOCTYPE html> <html> <head> <meta lang="zn"> <meta charset="utf-8"> <title>文件实验室账号登录</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { font-family: 楷体; font-size: 1.2rem; padding: 1rem; } form { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 400px; margin: auto; } label { margin-bottom: 0.5rem; } input[type='email'], input[type='text'] { padding: 0.5rem; margin-bottom: 1rem; border: none; border-bottom: 2px solid #ddd; width: 100%; box-sizing: border-box; font-size: 1.2rem; } button { padding: 0.5rem; border: none; background-color: #007bff; color: #fff; font-size: 1.2rem; cursor: pointer; } button:hover { background-color: #0069d9; } button:disabled { background-color: #ddd; color: #333; cursor: not-allowed; } </style> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> </head> <body> <form id="login-form" action="#"> <label for="email">邮箱账号:</label> <input type="email" id="email" name="email" placeholder="在此输入邮箱账号"> <button type="button" id="get-code-btn">获取验证码</button> <label for="code">验证码:</label> <input type="text" id="code" name="code" placeholder="在此输入收到的验证码"> <button type="submit">登录</button> </form> <script> $(function() { $('#get-code-btn').click(function() { var email = $('#email').val(); $.ajax({ url: '/admin/', method: 'POST', data: {email: email}, success: function(data) { if (data.status == 'success') { // 获取验证码成功,开始倒计时 var count = 60; var timer = setInterval(function() { if (count == 0) { clearInterval(timer); $('#get-code-btn').prop('disabled', false).text('获取验证码'); } else { $('#get-code-btn').prop('disabled', true).text(count + '秒后重试'); count--; } }, 1000); } else { alert('获取验证码失败,请重试!'); } }, error: function() { alert('获取验证码失败,请重试!'); } }); }); $('#login-form').submit(function() { var email = $('#email').val(); var code = $('#code').val(); $.ajax({ url: '/response/', method: 'POST', data: {email: email, code: code}, success: function(data) { if (data.status == 'success') { // 验证码校验成功,跳转到目标页面 window.location.href = 'http://spacexs.cn'; } else { alert('验证码错误,请重新输入!'); } }, error: function() { alert('验证码错误,请重试!'); } }); return false; }); }); </script> </body> </html>
05-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值