好,本文属于技术类文章,建议有本领域的技术基础者阅读,以便更好地理解。
这篇文章分两个步骤讲解,如下:
第一步:什么是 flex + div 呢?
flex 是CSS的一套布局方案,一个一维布局模型;是Flexible Box的缩写,意思就算“弹性布局”,理解flex概念使用,记住下面两点即可:
div 其就是一个普通HTML元素标签,大部分内容都是可以基于这个元素标签封装的,形成一个复用性大,共用性好的新元素标签。
第二步:如何使用 flex + div 来绘制作品,哪些场景的作品可以使用?
首先如何使用,下面我们直接看一个封装好的例子元素标签,给拆解出来讲解如何使用,其他举一反三即可:
图-1-1
这是一个普通货品上架的卡片信息内容,它就是一个flex+div结构绘制,被红线圈出来,都是一个个的flex+div内容布局,外层定义flex容器,内部就是该flex容器子元素内容,这些内容子元素,都flex布局排列x-y轴方向的信息,简单吧!所以几乎大部分的页面内容都可以使用这flex+div方式可以封装你的业务标签组件,以便复用,flex布局元素排列好,设置每个元素的内外边距、样式、字体、颜色这些标签属性,就看到这样一个通用的普通组件标签场景了。
简单吧!这就是一个flex+div绘制互联网作品,商品上架的货品卡片,多个就复用该标签组件形成一个列表展示了。
如下代码标签,就是这个货品使用flex + div方式绘制的,只有你确定了页面内容flex结构层级,即可快速绘制出来:
图-1-2
哪些场景会用到了,网站、小程序、管理系统等这些互联网作品基本都会用它的,按业务需求场景去封装你的作品输出服务。
简单吧!学会flex + div,在你的互联网产品绘制之路,快速便捷的实战,无论是自由原创、还是看图仿制都是可以的,不限制你的想象空间,就像我们画家一样,可以自由创作作品,也可看图,看景创景作品,实际工作是会沟通好场景需求,在去创作,才服务满足顾客需求意向,以更好去交付获得收益。
拜拜!下期再见!
lex布局(Flexible Box Layout)是一种CSS3中的新型布局模式,旨在提供更加灵活和响应式的布局解决方案,以满足现代网页设计的需求。以下是关于Flex布局的详细介绍和示例:
一、Flex布局概述
在传统的布局模式中,元素的排列通常是基于块或行,这使得在某些场景下很难实现灵活的布局。例如,要使元素在容器中均匀分布或控制元素之间的对齐方式,这往往是非常困难的。因此,CSS3引入了Flex布局,以解决这些问题。
Flex布局是由两部分组成的:flex容器(flex container)和flex项目(flex items)。flex容器是包含flex项目的元素,而flex项目是容器中的子元素。
在Flex布局中,flex容器可以设置一系列属性来控制flex项目的布局和对齐方式。这些属性包括:
除了以上属性,还有许多其他属性可以用于控制Flex布局的细节,如flex-grow(用于控制元素的放大比例)、flex-shrink(用于控制元素的缩小比例)和flex-basis(用于设置元素的基本尺寸)。
二、Flex布局示例
下面是一个简单的Flex布局示例,展示了如何创建一个具有均匀分布的元素的容器。
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: flex;
justify-content: space-between;
align-items: center;
background-color: lightblue;
padding: 20px;
}
.item {
width: 200px;
height: 100px;
background-color: lightgreen;
}
</style>
</head>
<body>
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</body>
</html>
在上面的示例中,我们首先定义了一个名为.container的类,它设置了display: flex;属性,这使得该元素成为一个flex容器。然后,我们使用justify-content: space-between;属性将子元素在主轴上均匀分布。align-items: center;属性将子元素在交叉轴上居中对齐。最后,我们为子元素定义了宽度、高度和背景颜色。
在这个例子中,三个子元素在容器中均匀分布,并且位于交叉轴的中央。通过这个简单的示例,我们可以看到Flex布局可以非常容易地实现灵活的布局和对齐方式。
篇系统介绍了flex的语法及基本知识,如果您还不熟悉flex知识,点击这里先看看《 前端入门——弹性布局(Flex)》。本篇将结合flex基本知识去实现常见的网页布局效果,常见的经典网页布局有:
上下结构
html:
<main>
<header>header</header>
<section>content</section>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-direction: column;
}
main > header{
height: 100px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
左右结构
html:
<main>
<nav>left nav</nav>
<section>content</section>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
}
main > nav{
width:150px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
上中下结构
html:
<main>
<header>header</header>
<section>content</section>
<footer>footer</footer>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-direction: column;
}
main > header,
main > footer{
height: 100px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
左中右结构
html:
<main>
<nav>left nav</nav>
<section>content</section>
<aside>right aside</aside>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
}
main > nav,
main > aside{
width:150px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
1、上中下结构里,中间区域嵌套左中右结构
圣杯布局1
html:
<main>
<header>header</header>
<section>
<!--嵌套左中右结构-->
<nav>left nav</nav>
<section>content</section>
<aside>right aside</aside>
</section>
<footer>footer</footer>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-direction: column;
}
main > header,
main > footer{
height: 100px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
display:flex;
}
/*嵌套的左中右结构*/
main > section > nav,
main > section > aside{
width:150px;
background: #fdcdcd;
}
main > section > section{
width:100%;
flex-grow:1;
}
2、左中右结构里,中间区域嵌套上中下结构
圣杯布局2
html:
<main>
<nav>left nav</nav>
<section>
<!--嵌套上中下结构-->
<header>header</header>
<section>content</section>
<footer>footer</footer>
</section>
<aside>right aside</aside>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
}
main > nav,
main > aside{
width:150px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
width:100%;
display:flex;
flex-direction: column;
}
/*嵌套的上中下结构*/
main > section > header,
main > section > footer{
height: 100px;
background: #fdcdcd;
}
main > section > section{
flex-grow:1;
}
9宫格
html:
<main>
<section>content 1 </section>
<section>content 2 </section>
<section>content 3 </section>
<section>content 4 </section>
<section>content 5 </section>
<section>content 6 </section>
<section>content 7 </section>
<section>content 8 </section>
<section>content 9 </section>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-wrap: wrap;
}
main > section{
width: 30%;
background:#55ff00;
margin: 1.5%;
}
以上是常见的经典布局,在这些布局的基础上可以组合、拆分制作各种各样的布局,如果结合position:fixed定位还可以实现头部或侧边栏固定的布局效果。
以上布局使用传统的float、position也可以实现,只是相对来说比较麻烦一些,已不建议使用,所以了解下就可以了。
虽然flex可以满足大部分布局,但是flex并不擅长栅格布局,后面会介绍display:grid(网格布局),网格是一组相交的水平线和垂直线,它定义了网格的列和行。所以使用网格布局能够构建更加复杂的网页设计。
感谢关注,希望能够给你有所帮助,欢迎提出错误,补充。
上篇:前端入门——弹性布局(Flex)
下篇:前端入门 —— 网格布局(Grid)
源码链接: https://pan.baidu.com/s/1bdZM8ZcdU3FdSCp2u0sx8A?pwd=9ub2
提取码: 9ub2
*请认真填写需求信息,我们会在24小时内与您取得联系。