前端基础——CSS布局
前端基础学习第三天
文章目录
- 前端基础学习第三天
- 一、CSS布局
- 1.margin(外边距)
- 2.padding(内边距)
- 3.position
- 4.float
- 二、布局实例
- 1.浮动布局
- 2.弹性布局(flex布局)
- (1)flex-direction
- (2)flex-wrap
- (3)flex-flow
- (4)justify-content
- (5)align-items
- (6)align-content
一、CSS布局
学习布局之前,我先要认识CSS中的这几个属性:margin
、padding
、position
。
1.margin(外边距)
它分别可以设置上、右、下、左四个边的外边距,一般写法是:
margin-top:10px;
margin-right:10px;
margin-bottom:10px;
margin-left:10px;
也可以这样写:
margin:10px 25px 75px 100px;
10px表示上外边距;25px表示右边;75px表示下边;100px表示左边。
margin:10px 50px 100px;
10px表示上边;50px表示右边和左边;100px表示下边。
margin:10px 50px;
10px表示上边和下边;50px表示右边和左边.
margin:50px;
四个边都是50px。
margin还有一个值,auto
值,它可以表示外边距居中(垂直居中面试题中有用到)。
行内元素
使用margin改变外边距,左右两边生效,上边和下边不生效。
2.padding(内边距)
和margin一样的写法,不过它是设置内边距,而且行内元素
使用它,只有上边是不生效的。
3.position
position有五个值,static
、fixed
、relative
、absolute
、sticky
,它们的作用如下:
值 | 作用 |
---|---|
static | position默认值 |
fixed | 固定元素,含有滚动条的页面,在滚动时该元素不会移动 |
relative | 相对定位,相对于其元素自身之前位置定位 |
absolute | 绝对定位,相对于其最近的父级元素进行定位 |
sticky | 粘性定位,滚动条滚动时元素会始终在页面内 |
其中绝对定位的用法:
<style>.father{width: 300px;height: 300px;position: relative; //也可写position:absolute;background-color: cornflowerblue;}.son{width: 50px;height: 50px;position: absolute;background-color: crimson;left:50px;top: 50px;}
</style>
<div class="father"><div class="son"></div>
</div>
运行结果:
4.float
float浮动,使元素在固定位置浮动起来,float会使元素脱离文档流,但不会脱离文本流,所以浮动的元素会固定在一个位置,文本内容会围绕着周围。
(position属性中的absolute绝对定位会使元素脱离文档流和文本流,可以用float和position:absolute做两边固定中间自适应布局)
<style>img{height: 200px;float:left;margin: 10px;}
</style>
</head><p><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F13%2F20200213195153_MwKPS.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644460734&t=81a2f1c4e1a9ee362fa79d06c8c316be">我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本
</p>
运行结果:
给一排图像设置浮动:
<style>img{height: 200px;float:left;margin: 10px;}
</style><p><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F13%2F20200213195153_MwKPS.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644462392&t=271fe1a1d3b6784b50378b230aabd4e3"><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F13%2F20200213195153_MwKPS.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644462392&t=271fe1a1d3b6784b50378b230aabd4e3"><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F13%2F20200213195153_MwKPS.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644462392&t=271fe1a1d3b6784b50378b230aabd4e3"><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F13%2F20200213195153_MwKPS.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644462392&t=271fe1a1d3b6784b50378b230aabd4e3"><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202002%2F13%2F20200213195153_MwKPS.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644462392&t=271fe1a1d3b6784b50378b230aabd4e3">
</p>
运行结果:
二、布局实例
网页一般会分为头部、导航栏、内容区域以及尾部(想想语义化标签<header>
、<article>
、<footer>
等),布局主要在内容区域做文章。形式一般分为一列布局、两列布局以及三列布局。
1.浮动布局
就拿两列布局来说,我想做一个左边区域固定,右边自适应的布局。
实现如下:
<style>body{margin: 0; //去掉白边padding: 0;}.head{height: 50px;background-color: #bbb;font-size:x-large;padding: 20px;text-align: center;}.article1{width: 200px;background-color: burlywood;font-size:x-large;text-align: center;position: absolute;top: 90px;bottom: 90px;}.article2{width: 100%;background-color:lemonchiffon;font-size:x-large;text-align: center;position: absolute;top: 90px;bottom: 90px;}.footer{width: 100%;height: 50px;background-color: #aaa;font-size:x-large;padding: 20px;text-align: center;position: absolute;bottom: 0;}
</style><div class="head">头部区域</div><div class="article2">右边自适应</div><div class="article1">左边固定</div><div class="footer">尾部</div>
运行效果:
2.弹性布局(flex布局)
弹性布局(flex布局)是目前用的比较多的布局形式,它相对来说具有很大灵活性,任何一个元素都可以用flex布局。
flex布局会将父元素作为容器,容器中的子元素就是项目,容器承载着项目,容器本身还是遵守它自身元素属性,存在于文档流之中;容器中的项目则全都脱离了文档流。将display:flex
写在作为容器的父元素中,容器内的元素就遵守弹性布局规则了。
写在容器上的属性:
- flex-direction(排列方向)
- flex-wrap(规定换行)
- flex-flow(前两种综合)
- fjustify-content(主轴方向对齐方式)
- align-items(交叉轴对齐方式)
- align-content(多轴线对齐方式)
(1)flex-direction
四个值分别对应四种排列方向:row(默认从左往右)、row-reverse(从右往左)、column(从上至下)、column-reverse(从下至上)。
(2)flex-wrap
flex-wrap共有三个值:nowrap(默认不换行,会挤压元素)、wrap(换行,第一行在上)、wrap-reverse(换行,第一行在下)。
我设定的元素均是高宽相等,此时已经被挤压↑
(3)flex-flow
排列和对齐综合体,写法是flex-flow:row nowrap;
row nowrap是默认值。
(4)justify-content
设定主轴方向的对齐方式,有五个值:flex-start(左对齐)、flex-end(右对齐)、center(居中对齐)、space-between(两端对齐)、space-around(两段间隔相等)
space-around
中,项目之间间隔是两段间隔的一倍。
(5)align-items
同样有五个值:flex-start(顶端对齐)、flex-end(底部对齐)、center(中点对齐)、baseline(第一行文本的基线对齐)、stretch(默认值,未设置高度则占满整个容器)。
(6)align-content
多轴线的对齐方式,只有一根轴线不起作用。共六个值:flex-start、flex-end、center、space-between、space-around、stretch(默认值)。
效果是这样:
写在项目里的属性:
- order(数值小的排在前方,例:-1,0,1,2这样排列,默认值为0)
- flex-grow(放大比例,默认值为0不放大)
- flex-shrink(缩小比例,默认值为1空间不足会缩小,无负值)
- flex-basis(项目占主轴空间的大小,默认值auto)
- align-self(和align-items属性一样,是可以规定单个项目的对齐方式的,默认值为auto,表示继承父元素的align-items属性)
前端基础——CSS布局相关推荐
- 11. 前端基础--CSS盒子定位
文章目录 前端基础--CSS盒子定位 1. 再看CSS 布局的三种机制 2. 为什么使用定位? 3. 定位详解 3.1 边偏移 3.2 定位模式 (position) 静态定位(static) -了解 ...
- 前端基础-CSS的各种选择器的特点以及CSS的三大特性
一. 基本选择器 二. 后代选择器.子元素选择器 三. 兄弟选择器 四. 交集选择器与并集选择器 五. 序列选择器 六. 属性选择器 七. 伪类选择器 八. 伪元素选择器 九. CSS三大特性 一. ...
- 2023高薪前端面试题(一、前端基础——css)
• 说一下 css 盒模型 盒模型分为IE盒模型和W3C标准盒模型.盒子的宽度和高度的计算方式由box-sizing属性控制. box-sizing属性值 content-box:默认值,conten ...
- 前端基础CSS+html篇 2w字吐血总结
前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色.从狭义上讲,前端工程师使用 HTML.CSS.JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端.移动 ...
- 前端基础-CSS如何布局以及文档流,对于新手来说,特别有用
一. 网页布局方式 1.什么是网页布局方式 布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式 比如word,nodpad++等等 而网页的布局方式指的就是浏览器这款工具是如何对网页中的 ...
- 前端基础-CSS弹性布局
三.弹性布局 1.多栏布局 概念:实现多个栏目的布局,类似于报纸 示意图 a) 分栏显示–语法:column-count:值 取值:值是一个栏目的数量 <style type="tex ...
- 前端基础-CSS的属性相关设置
一 字体属性 二 文本属性 三 背景属性 四 盒子模型 五 盒子模型各部分详解 一. 字体属性 1.font-weight:文字粗细(表格中*为重点) 取值 描述 normal 默认值,标准粗细 ...
- 2 - 前端基础--CSS 选择器
引入css方式(重点掌握) 1.行内样式 <div> <p style="color: green">我是一个段落</p></div> ...
- Web前端基础---CSS样式--盒子模型--浮动与定位
Day02 CSS样式 DIV和CSS DIV是层叠样式表中的定位技术,全称DIVision,即为划分.有时可以称其为图层. DIV元素是用来为HTML文档内大块(block-level)的内容提供结 ...
最新文章
- python cmdb资产_SuperCMDB - 资产管理+跳板审计
- 算法面试的理想与现实
- Memcache压力测试工具 -- memslap
- 用树莓派做一个alibaba-guest
- gram矩阵的性质_线性代数(十五)标准正交基(Orthonormal Bases)和Gram-Schmidt正交化...
- Vue状态管理之Vuex
- 亲测,手把手教你用Python抢票
- 来领.NET Core学习资料,7天整理了30多个G(适合各阶段.Net开发者)
- [BZOJ1101][POI2007]Zap
- JavaScript删除数组里的某个元素
- TCPip详解学习--广播,多播
- java对接短信接口
- python怎么来算面积_python面积求法
- 子域名收集 -- 提莫(teemo)
- 无法运行regedit.exe的简单解决方法
- 云计算机怎么打游戏,云电脑玩游戏性能怎么样?会不会卡顿
- ruby on rails_如何将刺激添加到Ruby on Rails应用程序
- windows下安装虚拟机
- 马萨诸塞大学阿姆赫斯特分校计算机科学专业,UMass Amherst的CS「马萨诸塞大学安姆斯特分校计算机科学学系」...
- Game Plug-ins(1)