首页 > 其他分享 >从五种网页布局到八种常用布局四十二种CSS方法

从五种网页布局到八种常用布局四十二种CSS方法

时间:2024-11-19 15:40:44浏览次数:1  
标签:flex 布局 元素 grid 设置 position left CSS 四十二

/*content style end*/ /*五种布局 一、流式布局 相对于屏幕大小设置元素百分百自适应。float:right或left 二、网格布局Grid 二位表格(网格)。display:grid。 三、弹性布局Flexbox 容器内自动调整元素大小和位置。display:flex; 四、浮动布局float 多列布局。overflow:hidden;float:left; 五、定位布局position 元素在文档流中的位置进行布局。position:relative;或absolute; */

1.首先分清楚,哪些是块级元素,哪些是行内块级元素等概念。子元素级加 display:inline-block可以在父元素加 text-align:center 实现水平居中。

2.对于定宽的子元素,直接margin:0 auto;实现水平居中。注意必须设置宽度。

3.开启定位的子元素,position:relative;通过left:50%;和margin-left:-150px.为负的宽度的一半。

4.定宽块级元素水平居中,position:relative;height:300px;子元素设置position:absolute;用left和right一起设置拉满屏幕,left:0;right:0;weight:300px;拉满屏幕后用margin:auto实现水平居中;

5.定宽块级元素水平居中,父元素position:relative;子元素开启定位:position:absolute;自动计算宽度。left:50%;transform:translatex(-50%);

6.flex方案。父元素display:flex;justify-content:center;子元素:margin:auto;

7.grid方案。父元素:display:grid;justify-items:center;justify-content:center;子元素margin:auto;

8.行内块级元素垂直居中。父级元素设置高度height:500px;子级元素设置为块inline-block元素,通过vertical-align:middle;实现居中。

9.定位垂直居中。父元素开启相对定位。 position:relative;子元素position:absolute;设置子元素magin-top:150px;top:50%即margin-top等于负高度的一半。

10.定位垂直居中方法2.父元素开启相对定位。 position:relative;子元素position:absolute;设置子元素高度垂直拉满后margin:auto;实现。height:300px;top:0;botton:0;margin:auto;

11.定位垂直居中多种场合。父元素开启相对定位。 position:relative;子元素position:absolute;子元素设置top:50%;transform:translateY(50%);

12.垂直居中flex方案。父元素parent开启flex布局。display:flex;一种是父元素设置align-items:center;一种是子元素设置margin:auto;

13.垂直居中grid方案。父元素parent设置成网格display:grid;父元素中设置align-items:center;或者父元素设置:align-content:center;

                                            或者子元素设置margin:auto;或者子元素设置:align-self:center;

14.行内块级水平垂直居中。设置父元素parent行高等于容器高度line-height:500px;通过text-align:center;实现水平居中。将子元素设置为水平块级元素。display:inline-block;通过vertical-align:middle;实现垂直居中。

15.定位实现水平垂直居中。使子元素相对本元素定位。position:relative;子元素position:absolute;设置元素偏移量,值为50%减去宽或高度的一半。left:calc(50%-150%);top:calc(50%-150px)

16.定位实现水平垂直居中。使得子元素相对本元素定位。开启父子相离。position:relative;position:absolute;子元素设置left:50%top:50%;margin-left:-150px;margin-top:-150px;

17.定位实现水平垂直居中。开启父子相离。position:relative;position:absolute;设置边距拉满。top:0;left:0;right:0;bottom:0;通过margin:auto;实现水平垂直居中。

18.定位实现水平垂直居中。开启父子相离。position:relative;position:absolute;设置元素偏移量。left:50%;top:50%;通过反向偏移实现居中。transform:translate(-50%,-50%)

19.实现水平垂直居中的flex方案。父元素设置为display:flex;子元素通过margin:auto;实现。

                                                                  或者通过在父元素设置justify-content以及align-items:center实现。

20.水平垂直的guid方案。父元素设置成display:grid;子元素设置:place-self:center;实现。或者其它在父元素或子元素设置两种组合。

                                                 或者在父元素设置items属性实现。align-items:center;justify-items:center;或缩写place-items:center;

                                                 或者在父元素设置content属性实现。align-content:center;justify-content:center;或者缩写:place-content:center;

                                                 在子元素设置margin:auto;或者设置self属性。align-self:center;justify-self:center;或者缩写:place-self:center;

 

 

两列布局

21.float+calc()完成左列定宽右列自适应。float:left;右边也开启浮动。float:left。宽度减去左列的宽度。width:calc(100%-200px);

22.float+margin-left:左列定宽右列自适应。float:left;左列开启浮动,右边不开启浮动。通过外边距的方式使容器的左边有200px;margin-left:200px;

23.absolute+margin-left:左列定宽右列自适应。左列开启定位脱离文档流。position:absolute;右边通过外边距的方式使得该容器的左边有200px。margin-left:200px;

24.float+overflow完成左列定宽右列自适应。左侧元素开启浮动。float:left;右侧自适应元素设置overflow会创建一个bfc完成自适应。overflow:hidden;

25.flex方案,父元素container开启flex即display:flex;右侧设置flex属性为1.表示flex-grow:1;即该项占所有剩余空间。

26.grid方案,通过grid设置grid-template-columns属性。即display:grid,将其划分为两行,其中一列有本身宽度决定,一列占剩余宽度。设置grid-template-columns:auto 1fr;

 

三列布局

27.通过float实现,左列容器开启左浮动float,中间自适应元素设置overflow会创建一个bfc完成自适应。overflow:hidden;右侧容器开启右浮动。float:right;

28.通过float实现,左列容器开启左浮动float,中间自适应元素宽度为父级元素减去两个定宽的列即 width:cacl(100%-400px);overflow:hidden;右侧容器开启右浮动。float:right;

29.通过position实现,左右两列脱离文档流,并通过偏移的方式到达自己的区域。position:absolute;left:0;top:0;

                                             使中间自适应的宽度为父级容器减去两个定宽的列。width:calc(100%-400px);通过外边距将容器往内缩小。margin-right:200px;margin-left:200px;

                                            右侧元素靠边。position:absolute;right:0;top:0;

30.通过flex方案实现。container设置disolay:flex;右侧设置成flex:1;表示flex-grow:1;即该项占所有剩余空间。

31.Grid方案。container设置display:grid;将其划分为两行,其中一列有本身宽度决定,一列占剩余宽度。grid-template-columns:auto 1fr auto;

 

等分布局

32.浮动+百分比方案。item开启浮动float:left;每个元素占25%的宽度。width:25%,float:left;

33.行业块级+百分比方式。设置每个元素为行业块级元素,每个元素占24.5%的宽度。设置item内元素为行内块级元素display:inline-block;并设置宽度为width=24.5%;因为行内块级元素有一些类似于边距的几个像素,导致各占25%会超出容器。

34.flex方案。container开启flex布局,display:flex;子元素item设置每个元素占相同的宽度。flex:1;

35.grid方案。container开启grid布局,display:grid;设置grid-template-columns:repeat(4,1fr);原理是使用repeat函数生成代码grid-template-columns:1fr 1fr 1fr 1fr;

 

sticky footer布局(底部栏目固定在底部的布局)

36.绝对定位方式。设置最外层容器为100%。即html,body(height:100%;) 其次,让子元素元素相对于容器元素进行定位,并设置容器元素最小高度为100%。main{position:relative;min-height:100%;}

                                     在中间区域设置padding-bottom为footer的高度即padding-bottom:100px;由于开启了绝对定位,宽度成了自适应,设置为100% bottom:0;始终保持底部。footer{position:absolute;width:100%;bottom:0;}

37.使用calc函数实现。这里的中间部分的容器最少为视口宽度的100%;头部和底部两部分的高度即可完成该功能。container{min-height:calc(100vh-200px);}。此种方法最简单。

38.flex方案。main开启flex布局。display:flex;将元素布局方向修改为垂直排列,flex-flow:column;设置最小高度为当前视口,使不管中间部分有多高,始终可以保持在底部。min-height:100vh;设置中间部分自适应。container{flex:1;}

39.grid方案。main开启grid布局。display:grid;设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部。grid-template-rows:auto 1fr auto;min-height:100vh;

 

全屏布局顶部和底部固定,导航固定,内容自适应。

40.使用calc函数实现。通过calc函数计算出容器高度,content溢出隐藏。overflow:hidden;计算高度height:calc(100vh-200px);设置左边高height:100%;右边设置.right{overflow:auto;height:100%;}.right-in{height:500px;}假设容器内有500px的元素。

41.flex方案。开启flex将子元素布局方向修改为垂直排列。.container{display:flex;flex-flow:column};如果超出则出现滚动条overflow:auto;设置中间部分自适应flex:1;即content{overflow:auto;flex:1;}.假设容器内元素高度500px.。.right-in{height:500px;}

42.grid方案。通过template属性实现。开启grid布局display:grid;设置grid-template-rows:auto 1fr auto;内容超出则滚动条。.content{overflow:auto;}内部元素高度right-in{height:500px;}

 

标签:flex,布局,元素,grid,设置,position,left,CSS,四十二
From: https://www.cnblogs.com/xiongwei/p/18554704

相关文章

  • 大学生HTML期末大作业——HTML+CSS+JavaScript南宁绿城
    HTML+CSS+JS【旅游网站】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • Vue项目,在less/scss中使用变量
    vue组件中,如何在less/scss中使用变量,以二次封装el-tab样式组件为例<!--*@description封装el-tab样式!--><template><divclass="tab-comp":style="{'--item-max-width':itemMaxWidth,'--tab-comp-height':height,'--tabs-lab......
  • Harmony 应用开发常用布局介绍
    在Harmony应用开发中,合理的布局是构建美观且易用界面的关键。以下是几种常用的布局方式。1.Column布局特点:Column是一种垂直方向的线性布局容器。它将子组件按照从上到下的顺序依次排列。示例代码:Column({space:5}){Text("Column")Button(......
  • CSS盒子模型的外边距详解
    CSS盒子模型的外边距(margin)是控制元素之间间距的重要属性。以下是与CSS盒子模型外边距相关的所有重要知识点:一、外边距的概念外边距是指盒子边框与其他元素边框之间的空白区域。它用于控制元素之间的距离,从而调整页面布局。二、外边距的设置在CSS中,可以使用margin属性......
  • HTML·第八章 利用CSS制作导航栏菜单
    8.1水平顶部导航栏水平顶部导航栏(HorizontalTopNavigationBar)是网页设计中常用的一种导航栏布局,通常位于页面的顶部,以水平的方式排列导航选项。这种布局便于用户快速访问网站的主要部分。常见的设计元素包括菜单项、图标、搜索框、以及用户信息等。一、水平顶部导航栏......
  • 实现简易计算器 网格布局 QT环境 纯代码C++实现
    问题:通过代码完成一个10以内加减法计算器。不需要自适应,界面固定360*350。"="按钮90*140,其它按钮90*70。参考样式#defineDEFULT_BUTTON_STYLE"\QPushButton{\color:#000000;\border:1pxsolid#AAAAAA;\border-radius:0;\background-color:#FFFFFF;......
  • 第八章 利用CSS制作导航菜单
    8.1水平顶部导航栏8.1.1简单水平导航栏的设计与实现8.1.1.1导航栏的创建通常使用HTML的无序列表(<ul>)和列表项(<li>)来创建导航栏的基本结构。通过CSS对列表进行样式设置,去除默认的列表样式,如项目符号等,使其呈现为水平排列的导航栏<!DOCTYPEhtml><html> <head> <......
  • CSS快速上手:从零到项目实战
    CSS快速上手:从零到项目实战学习大纲一、初级部分CSS简介什么是CSS,它的作用是什么。CSS与HTML的关系。CSS基础语法选择器的种类(标签选择器、类选择器、ID选择器等)。属性和值的设置。文本样式字体大小、颜色、粗细。文本对齐方式。盒模型理解内容、内边距、边......
  • 前端技术对css的学习
    css简介目录css简介CSS的基本特性CSS的使用方式CSS选择器总结CSS(CascadingStyleSheets,层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS能够对网页中元素的位置进行排版,包括布局、颜色、字体等。通过CSS......
  • CSS(8)高级技巧:精灵图,css三角,用户界面,vertical-align属性应用
    一.精灵图通过css中的background-position属性,将多张图合成为一张图二.css三角在网页中,我们可以添加css属性获得三角图标solid:实心,边框的实心transparent:透明,图中代码表示只有左边粉色,其余地方为透明三:用户界面1.鼠标样式2.取消表单轮廓与防止拖拽文本三.vert......