详解CSS(三)及案例实现

目录

1.弹性布局

1.1 弹性布局案例

1.2flex 布局基本概念

1.3常用属性

1.3.1justify-content

1.3.2align-items

2.案例实现:小广告

3.案例实现:百度热榜


1.弹性布局

弹性布局(Flex布局)是一种用于创建自适应和响应式布局的CSS布局模型。它提供了一种简单而强大的方式来排列和对齐页面中的元素,使其在不同的屏幕尺寸和设备上能够保持良好的显示效果

弹性布局的主要特点包括:

  1. 简单易用:相比传统的布局方式,弹性布局使用相对简单的属性来控制布局,减少了复杂的 CSS 代码。
  2. 响应式设计:能够自动适应不同的屏幕尺寸和设备,使布局在各种情况下都能保持良好的显示效果。
  3. 灵活的排列方式:可以通过设置主轴和交叉轴的方向,以及项目在轴上的对齐方式,实现各种不同的排列效果。
  4. 支持换行:可以控制项目在容器中是否换行,以及换行的方式。
  5. 子元素属性失效:当元素设置为弹性布局时,一些传统的 CSS 属性,如 float、clear 和 vertical-align 可能会失效。

1.1 弹性布局案例

创建一个div,内部包含三个span

    <style>div {width: 100%;height: 150px;background-color:red;}span {background-color: green;width: 100px;}</style><div><span>111</span><span>222</span><span>333</span></div>

此时看到的效果为:

当我们给div加上display: flex之后,效果为:
此时看到, span 有了高度, 不再是 "行内元素了"

再给 div 加上  justify-content: space-around;  此时效果为:

此时可以看到这些 span 已经能够水平隔开了.

 justify-content: space-around;   改为  justify-content: flex-end; 此时三个元素在右侧显示

1.2flex 布局基本概念

lex flexible box 的缩写. 意思为 "弹性盒子".

任何一个 html 元素, 都可以指定为  display:flex 完成弹性布.

flex 布局的本质是给父盒子添加  display:flex 属性, 控制子盒子的位置和排列方式.

基础概念:

·  被设置为 display:flex 属性的元素, 称为 flex container

·  它的所有子元素立刻称为了该容器的成员, 称为 flex item

·  flex item 可以纵向排列, 也可以横向排列, 称为 flex direction(主轴)

注意:

当父元素设置为 display: flex 之后, 子元素的 float, clear, vertical-align 都会失效.

1.3常用属性

1.3.1justify-content

设置主轴上的子元素排列方式、使用前一定要确定好主轴方向

属性取值

 代码示例:

    <style>div {width: 100%;height: 150px;background-color:red;display: flex;    }span {background-color: green;width: 100px;height: 100px;}</style><div><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div>

未指定 justify-content , 默认按照从左到右的方向布.

设置 justify-content: flex-end , 此时元素都排列到右侧了.

设置 jutify-content: center , 此时元素居中排列

设置 justify-content: space-around;

平分了剩余空间.

设置 justify-content: space-between;

先两边元素贴近边缘, 再平分剩余空间.

1.3.2align-items

设置侧轴上的元素排列方式

在上面的代码中, 我们是让元素按照主轴的方向排列, 同理我们也可以指定元素按照侧轴方向排列.

取值和 justify-content 差不多. 

理解 stretch(拉伸):

是 align-content 的默认值. 如果子元素没有被显式指定高度, 那么就会填充满父元素的高度、形如:

    <style>div {width: 500px;height: 500px;background-color: green;display: flex;justify-content: space-around;          }div span {width: 150px;background-color: red;}</style><div><span>1</span><span>2</span><span>3</span></div>

可以在div中加上 align-items: center 实现垂直居中.并且在span中需要加上元素高度和宽度

注意: align-items 只能针对单行元素来实现. 如果有多行元素, 就需要使用 item-contents

2.案例实现:小广告

预期效果

测量结果:

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Comatible" content="IE=edge"<meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 308px;height: 209px;border: #d8dad8 solid 2px;background-color: #fcfffc;margin: auto;}.title {    height: 40px;border-bottom: 2px dotted #e8ebe8;font-size: 18px;padding-left: 20px;padding-top: 15px;}.item {font-size: 16px;flood-color: #898b76;padding-left: 25px;line-height: 28px;padding-top: 10px;}</style>
</head>
<body><div class="box"><div class="title">广告板</div><div class="content"><div class="item">赔钱清仓甩卖,全场一律八折</div><div class="item">赔钱清仓甩卖,全场一律八折</div><div class="item">赔钱清仓甩卖,全场一律八折</div><div class="item">赔钱清仓甩卖,全场一律八折</div></div></div>
</body>
</html>

3.案例实现:百度热榜

预期效果:

代码实现:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>百度热榜</title><style>a {color: blue;text-decoration: none;}a:hover {text-decoration: underline;}table {width: 536px;}.title .col-1 {font-size: 20px;font-weight: bolder;}.col-1 {width: 80%;text-align: left;}.col-2 {width: 20%;text-align: center;}.icon {background-image: url(./refresh.png);width: 20px;height: 20px;background-size: 100% 100%;display: inline-block;vertical-align: bottom;}.content {font-size: 18px;line-height: 40px; }.content .col-1,.content .col-2 {border-bottom: 2px solid #f3f3f3;}.num {font-size: 20px;color: #fffff3; }.first {background-color: #f54545;padding-right: 8px;}.second {background-color: #ff8547;padding-right: 8px;}.third {background-color: #ffac38;padding-right: 8px;}.other {background-color: #8eb9f5;padding-right: 8px;}</style>
</head>
<body><table cellspacing="0px"><th class="titile col-1">百度热榜</th><th class="title col-2"><a href="#">换一换<span class="icon"></span></a></th><tr class="content"><td class="col-1"><span class="num first">1</span><a href="#">黑子说话黑子说话黑子说话</a></td><td class="col-2">474万</td></tr><tr class="content"><td class="col-1"><span class="second first">2</span><a href="#">黑子说话黑子说话黑子说话</a></td><td class="col-2">474万</td></tr><tr class="content"><td class="col-1"><span class="third first">3</span><a href="#">黑子说话黑子说话黑子说话</a></td><td class="col-2">474万</td></tr><tr class="content"><td class="col-1"><span class="other first">4</span><a href="#">黑子说话黑子说话黑子说话</a></td><td class="col-2">474万</td></tr></table></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“AIGC行业投资时机分析:评估当前市场发展阶段与未来需求趋势“

文章目录 每日一句正能量前言行业前景当前发展前景相关领域的发展趋势行业潜力竞争情况结论 市场需求人才需求情况机会挑战结论 选择与规划自我评估行业调研职业规划风险管理个人陈述示例 后记 每日一句正能量 胖了就减&#xff0c;没钱就赚&#xff0c;不会就学&#xff0c;不…

男士内裤什么材质的好?推荐男士内裤的注意事项

天气已经逐渐热了起来&#xff0c;广大男士们在夏天难免会出一身的汗&#xff0c;不少男士朋友都觉得一些吸湿性、透气性不好的内裤会在夏天穿着很不适&#xff0c;想挑选一些比较适合夏天的男士内裤&#xff0c;但现在的男士内裤品牌和材质分类却比较多&#xff0c;看得大家眼…

Python游戏编程:一步步用Python打造经典贪吃蛇小游戏

贪吃蛇作为一款极其经典且广受欢迎的小游戏&#xff0c;是早期 Windows 电脑和功能手机&#xff08;特别是诺基亚手机&#xff09;流行度极高的小游戏&#xff0c;是当时功能手机时代最具代表性的游戏之一。游戏的基本规则和目标十分简单&#xff0c;但却极具吸引力&#xff0c…

共享单车(八):数据库

实现后台数据库访问模块的框架&#xff0c;能够实现验证请求并响应&#xff08;支持数据库操作&#xff09;。 数据库设计 class SqlTabel //负责数据库表的创建 { public:SqlTabel(std::shared_ptr<MysqlConnection> sqlconn) :sqlconn_(sqlconn) {}bool CreateUserI…

详细分析crontab定时执行任务(附Demo | 定时清空Tomcat的实战)

目录 前言1. 基本知识2. Demo3. 实战3.1 错误版本3.2 正确版本 前言 由于用户量大&#xff0c;且导出的日志以及缓存特别多&#xff0c;急需定期删除文件 1. 基本知识 crontab 是一个用于定时执行任务的命令行工具&#xff0c;通常在 Unix 和类 Unix 系统中可用&#xff0c;表…

【微信小程序开发】小程序前后端交互--发送网络请求实战解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

三、自定义信号和槽函数(无参和有参)

需求&#xff1a; 下班后&#xff0c;小明说请小红吃好吃的&#xff0c;随便吃&#xff0c;吃啥买啥 无参&#xff1a;小红没有提出吃啥 有参&#xff1a;小红提出自己想吃的东西&#xff0c;吃啥取决于一时兴起&#xff08;emit触发&#xff09; 思路&#xff1a; 1&#xff…

Unreal Engine5 Landscape地形材质无法显示加载

UE5系列文章目录 文章目录 UE5系列文章目录前言一、解决办法 前言 在使用ue5做地形编辑的时候&#xff0c;明明刚才就保存的Landscape地形完全消失不见&#xff0c;或者是地形的材质不见了。重新打开UE5发现有时候能解决&#xff0c;但大多数时候还是没有解决&#xff0c;我下…

如何在 ASP.NET Core 中实现中间件管道

概述:借助 ASP.NET Core,中间件流水线可以作为一种轻量级、灵活的机制,使开发人员能够在请求流水线的不同阶段插入功能。这些中间件组件可以执行各种任务,例如日志记录、身份验证、授权、异常处理等。它们提供了一种封装和组织代码的方法,促进了更简洁、更易于维护的应用程…

聚观早报 | 华为畅享 70S真机图赏;vivo Y200 GT开售

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 5月25日消息 华为畅享 70S真机图赏 vivo Y200 GT开售 一加13部分细节曝光 马斯克谈AI未来 三星Galaxy Z Fold6将…

有一个3x4的矩阵,要求编写程序求出其中值最大的那个元素,以及其所在的行号和列号

解题思路&#xff1a; 先考虑解此问题的思路。从若干数中求最大数的方法很多&#xff0c;现在采用"打擂台"的算法。如果有若干人比武&#xff0c;先有一人站在台上&#xff0c;再上去一人与其交手&#xff0c;败者下台&#xff0c;胜者留在台上。第3个人再上…

Font shape `U/rsfs/m/n‘ in size <29.86> not available size <24.88>

解决方法&#xff1a;mathrsfs 删除这个包 其他可以参考&#xff1a;koma script - Size substitution with fontsize14 - TeX - LaTeX Stack Exchange

【C语言】深入理解指针(一)(中)

2、指针变量和解引用操作符&#xff08;*&#xff09; &#xff08;1&#xff09;指针变量 我们通过取地址操作符&#xff08;&&#xff09;拿到的地址是一个数值&#xff0c;比如&#xff1a;0x006FFD70&#xff0c;这个数值有时候是需要存储起来&#xff0c;方便后期再…

详解最新版RabbitMQ 基于RPM 方式的安装

如何选择安装版本 已经不支持的发布系列 版本最后补丁版本首次发布时间停止更新时间3.73.7.282017年11月28日2020年09月30日3.63.6.162015年12月22日2018年05月31日3.53.5.82015年03月11日2016年10月31日3.43.4.42014年10月21日2015年10月31日3.33.3.52014年04月02日2015年03…

Mybatis Cache(一)MybatisCache+Redis

前面提到了&#xff0c;使用mybatis cache&#xff0c;一般是结合redis使用。 一、demo 1、数据表 create table demo.t_address (id int auto_incrementprimary key,address_name varchar(200) null,address_code varchar(20) null,address_type int n…

计算机毕业设计Python+Scrapy+Vue.js机器学习招聘推荐系统 招聘数据可视化 招聘爬虫 招聘数据分析 大数据毕业设计 大数据毕设

桂林学院 本科生毕业论文&#xff08;设计、创作&#xff09;开题报告 二级学院 理工学院 专业 数据科学与大数据技术&#xff08;专升本&#xff09; 年级 2022级 姓名 徐彬彬 学号 202213018222 指导教师 沈岚岚 职称/学位 高级实验师 第二 导师 职称/学…

【ZYNQ】AXI-Quad-SPI SDK 开发记录 测试

前人工作 如前人工作&#xff0c;在Navigate to BSP Settings中找到历例程 file:///F:/Xilinx/Vitis/2019.2/data/embeddedsw/XilinxProcessorIPLib/drivers/spi_v4_5/doc/html/api/example.html使用XSpi_LowLevelExample例子&#xff0c;源代码的AI解析 int XSpi_LowLeve…

Java使用apache.poi生成word

加油&#xff0c;打工人&#xff01; 工作需求&#xff0c;将现有的word模板有段落和表格&#xff0c;从数据库中查出数据并填充&#xff0c;word里面也有表格数据&#xff0c;需要将excel表格数据单独处理&#xff0c;然后插入到生成好的word文档中。 下面代码模拟从数据库查出…

Kubernetes——Kubectl详解

目录 前言 一、陈述式资源管理方法 二、Kubectl命令操作 1.查 1.1kubectl version——查看版本信息 1.2kubectl api-resources——查看资源对象简写 1.3kubectl cluster-info——查看集群信息 1.4配置Kubectl补全 1.5journalctl -u kubelet -f——查看日志 1.6kubec…

物联网应用开发--STM32与机智云通信(ESP8266 Wi-Fi+手机APP+LED+蜂鸣器+SHT20温湿度传感器)

实现目标 1、熟悉机智云平台&#xff0c;会下载APP 2、熟悉新云平台创建产品&#xff0c;项目虚拟调试 3、掌握云平台生成MCU代码&#xff0c;并移植。机智云透传固件的下载 4、具体目标&#xff1a;&#xff08;1&#xff09;注册机智云平台&#xff1b;&#xff08;2&…