首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我看到一堆if else时,我的内心是奔溃的

,我是真的遇到过了!...下面将会谈谈我在工作中如何减少if else嵌套的。 正文 在谈我的方法之前,不妨先用个例子来说明if else嵌套过多的弊端。...当接手到这么一个业务时,是不是觉得很简单,稍动下脑就可以动手了: 先定义分享的类型、分享Bean和分享回调类: private static final int TYPE_LINK = 0; private...再再如果后面项目交接给他人跟进,他人又要把自己大脑变成处理器来想每个分支的作用,我敢肯定有百分之八十的人都会吐槽代码。 我们程序员的脑力不应该花费在无止境的分支语句里的,应该专注于业务本身。...上面的代码我是用java写的,对于java程序员来说,空值判断简直使人很沮丧,让人身心疲惫。

42840

CSS粘性定位 - 它的真正工作原理!

Stick 探索 在尝试使用 sticky 定位的过程中,我很快发现,当一个具有sticky定位样式的元素被包裹起来,并且它是包裹元素内唯一的元素时,这个被定义为sticky定位的元素并不会"粘"住。..."> div class="sticky"> SOME CONTENT div> div> 当我在包裹元素内添加更多元素时,它开始正常工作了。...Fixed - 当项目固定时,它的行为与 position: fixed 完全相同,浮动在视口的相同位置,从流中移除。...Absolute 定位 - 在粘附区域的末尾,元素停止并堆叠在另一个元素的顶部,就像绝对定位元素在 position: relative 容器内的行为一样。 贴在底部?...这意味着可以定义页脚具有粘性位置,并且在向下滚动时始终会出现粘在底部。当我们到达粘性容器的末尾时,元素将停留在其自然位置。最好将其用于自然位置为粘性容器底部的元素。

30620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    可视化格式模型-浮动

    也可以把这个模型看作是 Photoshop中的图层,我们就好像在好多层玻璃上画框框,这些玻璃都叠在一起,我们只能透过一个窗口(浏览器可见窗口)来看这些玻璃重叠后的图画。浮动可以看作其中的一个图层。...edge ) ,如果存在一个行框,浮动框的顶边会和当前行框的顶部对齐。...内容在该框的右边排列,就是上一篇帖子中所说的文字环绕,起点是框的顶部(会受’clear’属性的影响)。 right 与left类似,框向右侧浮动,内容在该框的左侧排列,从顶部开始。...当一个浮动框发生在两个margin折叠的中间时,浮动元素的定位好像它有另一个空的块级父框位于常规流中。 第一句好理解,说的是顶边不能超出包含块,跟左边右边不能超出一个道理。...后面的规则是说,当浮动框处于两个发生margin折叠的地方时,会被当作被包含在一个空的块框中,它上面和下面的margin会穿过它发生margin折叠,当它不存在。 <!

    1.2K100

    前端成神之路-定位

    CSS 提供了 3 种机制来设置盒子的摆放位置,分别是普通流、浮动和定位,其中: 普通流(标准流) 浮动 让盒子从普通流中浮起来 —— 让多个盒子(div)水平排列成一行。...当我们滚动窗口的时候,盒子是固定屏幕某个位置的 ?...哈根达斯分析 一个大的 div 中包含 3 张图片; 大的 div 水平居中; 2 张小图片重叠在广告图片上方 —— 脱标,不占位置,需要使用绝对定位; 2 张小图片分别显示在左上角和右下角 —— 需要使用边偏移确定准确位置...新浪案例分析 顶部图片固定在浏览器可视窗口顶部,不会随窗口一起滚动; 左右两侧的广告图片固定在浏览器可视窗口的左右两侧,不会随窗口一起滚动; 注意:底部的内容图片初始显示在顶部图片的下方,如何解决?...44px 的 margin 可以让 box 显示在顶部图片下方 */ margin: 44px auto; } 注意: 在使用固定定位时,如果盒子中没有内容,需要指定宽度 设置底部内容图片的顶部

    1.9K20

    CSS粘性定位是怎样工作的

    当我在包装元素中添加更多元素时,它就能开始正常工作了。 这是为什么? 这是因为当一个元素被赋予 position: sticky 样式时,粘性项目的容器是它可以粘贴的唯一区域。...粘性元素没有任何要浮动的元素,因为它只能浮动在同级元素上,作为唯一的子元素,它不能浮动。...粘性容器 —— 是包装粘性元素的 HTML 元素。 这是粘性元素可以浮动的最大区域。 当你定义一个具有 position:sticky 样式的元素时,父元素会被自动定义为粘性容器!...固定 —— 当元素被粘住时,它的行为与 position: fixed 完全相同,浮动在与视口的相同位置,并从流中移除。...绝对 —— 在粘贴区域的末尾,元素会停止,并堆叠在另一个元素的顶部,就像一个绝对定位的元素被放在一个 position: relative 容器内的行为。 粘在底部?

    1.8K10

    寒假提升 | Day10 CSS 第八部分

    总结浮动常见的规则内容 元素一旦浮动后, 脱离标准流 朝着向左或向右方向移动,直到自己的边界紧贴着包含块(一般是父元素)或者其他浮动元素的边界为止 定位元素会层叠在浮动元素上面 如果元素是向左(右)...元素浮动后,其顶部将与所在行的顶部对齐 四....清除浮动 浮动的问题 – 高度塌陷 由于浮动元素脱离了标准流,变成了脱标元素,所以不再向父元素汇报高度 父元素计算总高度时,就不会计算浮动子元素的高度,导致了高度坍塌的问题 解决父元素高度坍塌问题的过程...clear 属性可以指定一个元素是否必须移动(清除浮动后)到在它之前的浮动元素下面; clear的常用取值 left:要求元素的顶部低于之前生成的所有左浮动元素的底部 right:要求元素的顶部低于之前生成的所有右浮动元素的底部...both:要求元素的顶部低于之前生成的所有浮动元素的底部 none:默认值,无特殊要求 那么我们可以利用这个特性来清除浮动.

    1.2K20

    前端学习笔记之CSS浮动浅析

    ,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。...div2发现上边的元素div1是标准流中的元素,因此div2的相对垂直位置不变,顶部仍然和div1元素的底部对齐。...div4发现上一个元素div3是标准流中的元素,因此div4的顶部和div3的底部对齐,并且总是成立的,因为从图中可以看出,div3上移后,div4也跟着上移,div4总是保证自己的顶部和上一个元素div3...这时候就要用到清除浮动(clear),如果单纯根据官方定义,读者可能会尝试这样写:在div1的CSS样式中添加clear:right;,理解为不允许div1的右边有浮动元素,由于div2是浮动元素,因此会自动下移一行来满足规则...为了减轻读者心理压力,本文没有任何CSS、HTML代码,因为现在很多教程上来就是一大堆CSS代码,看到就烦,别说细读了。        最后预祝读者阅读愉快,开心掌握知识。 参考

    1K30

    寒假提升 | Day9 CSS 第七部分

    :nth-of-type 计数时只计算同种类型的元素,会排除所有的干扰项 三....结合CSS元素定位,并且找出对应的练习案例(2个) 第一个模仿京东我的购物车 第二个模仿B站头部服务列表 务必下载!!...如果是兄弟关系 ✓ z-index越大,层叠在越上面 ✓ z-index相等,写在后面的那个元素层叠在上面 如果不是兄弟关系 ✓ 各自从元素自己以及祖先元素中,找出最邻近的2个定位元素进行比较 ✓...浮动规则 浮动规则一 元素一旦浮动后, 脱离标准流 朝着向左或向右方向移动,直到自己的边界紧贴着包含块(一般是父元素)或者其他浮动元素的边界为止 定位元素会层叠在浮动元素上面 浮动规则二 如果元素是向左...元素、块级元素的文字内容 浮动规则五 规则五: 行内级元素、inline-block元素浮动后,其顶部将与所在行的顶部对齐 2.3.

    79220

    Html与CSS快速入门03-CSS基础应用

    此外,如果有两个带边框的元素彼此堆叠在一起,但他们之间没有边距,那么它们接触的位置似乎有双边框,可以同时将这两个边框减半,达到美观的效果。...元素中部与父元素中部对齐,bottom,text-top将元素的顶部与其父元素的顶部对齐,baseline,text-bottom。...此外,不要注意当需要去除浮动的影响时,可以使用clear属性,包括left,right,both,none和inherit,指定clear:left确保左边不允许出现其他的浮动元素。...,在实际项目中,一定不要忘了设置默认的边距属性,因为不同浏览器会有差异。...CSS设计导航系统:不同于简单的项目符号或编号列表,导航元素一般会需要如下特性:用户鼠标光标会改变,以指示元素是可单击的;当鼠标悬停在元素上时,元素周围的区域会改变外观;内容区域在视觉上显得与普通文本不同

    2K80

    理解 CSS 布局和 BFC

    这是因为当我们浮动一个元素时,文本所在的框的宽度保持不变,为给浮动元素腾出空间而缩短的是文本的行框。这就是为什么背景和边框会出现在浮动后面的原因。 我们通常有两种方法来解决这个布局问题。...这个 div 包含两个标签 p。外部 div 元素的 margin-bottom 为 40 像素,标签 p 的顶部和底部 margin 都是 20 像素。...margin 和外部 div 上的 margin 之间没有任何东西,所以两个会折叠,因此 p 最终与 div 的顶部和底部齐平。...如果一个项目创建了一个 BFC,那么该项目将不会包裹任何浮动元素。...我可以通过将包裹文本的 div 设置为 BFC 来防止这种包裹行为。 .text { overflow: auto; } ? 这实际上是我们创建具有多个列的浮动布局的方法。

    1.2K00

    理解 Css 布局和 BFC

    块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...删除一些文本 这是因为当我们浮动一个元素时,文本所在的框的宽度保持不变,为给浮动元素腾出空间而缩短的是文本的行框。这就是为什么背景和边框会出现在浮动后面的原因。 我们通常有两种方法来解决这个布局问题。...这个 div 包含两个标签 p。外部 div 元素的 margin-bottom 为 40 像素,标签 p 的顶部和底部 margin 都是 20 像素。...margin 和外部 div 上的 margin 之间没有任何东西,所以两个会折叠,因此 p 最终与 div 的顶部和底部齐平。...如果一个项目创建了一个 BFC,那么该项目将不会包裹任何浮动元素。

    1.4K00

    那些年,我们被耍过的bug——haslayout

    上图的例子中,三个 div 各包含一个 p 元素,三个 div 及其包含的 p 元素都有顶部和底部的外边距,但只有第三个 div 的边距没有与它的子元素 p 的外边距折叠。...2.可以包含浮动的子元素,即计算高度时包括其浮动子元素 效果如图: ?...上图的例子中,有两个 div ,它们各包含一个设置了浮动的 p 元素,但第一个 div 实际被浏览器判断为没有高度和宽度,即高度为 0 ,上下边框重叠在一起。...而第二个 div 使用 zoom: 1 触发了 hasLayout ,可以包含浮动元素,因此能正确表现出高度,其边框位置也正常了。...IE 中出现,所以只需为低版本 IE 触发 hasLayout ,这些技巧在实际项目中需要特别注意。

    68610

    CSS Margin中5个经典布局解决方案,重难点知识,记得收藏复习

    前几天我在面试前端开发同学的时候,有问到关于margin基础布局相关内容的过程中,发现很多同学基本解释不清楚,今天刚好有点时间就整理了一篇笔记出来。...css中margin外边距(重叠)合并现象 css中margin外边距穿透现象 css中margin设置负值时的特性 css经典3列自适应布局:圣杯布局 css经典3列自适应布局:双飞翼布局 可以尝试动手试一试...3、以下代码中 container 、 item 、box与浏览器顶部的间距是多少 ?...2个) 多端响应式开发(1个) 共4大完整的项目开发 !...从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范 从蓝湖UI设计稿 到 PC端,移动端

    1.1K11

    【CSS】margin 外边距负值使用案例 ( 正常外边距 | 使用外边距负值实现边框重叠 | 重叠边框突出显示 )

    一、正常外边距案例 margine 正常情况下使用 , 设置 float 浮动 , 使得相邻的盒子模型紧贴在一起 ; 如果设置边框 , 则相邻的边框会重叠在一起 , 导致边框变粗 ; 代码示例 : <!...: 邻近元素的外边框重叠在一起变粗的效果 : 二、使用外边距负值实现边框重叠 ---- 使用外边距负值实现边框重叠 , 设置左侧 -1 像素外边距 , 由于 浮动元素 都是紧贴在一起的 , 设置..., 浮动盒子在中间层 , 定位盒子在最上层 ; 这里使用 定位 中的相对定位 , 相对定位仍然会占用原来的位置 , 元素还在原来的位置不动 ; 如果使用了绝对定位 , 原来的位置就会消失 , 元素默认显示在定位的父容器左上角.../* 鼠标经过 div 盒子上方时 盒子的样式 */ div:hover { /* 突出显示的盒子设置红色边框 */ border: 1px solid red; /*...: -1px; } /* 鼠标经过 div 盒子上方时 盒子的样式 */ div:hover { /* 突出显示的盒子设置红色边框 */ border: 1px solid

    1.2K20

    CSS清除浮动

    当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘: ? 当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。...如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”: ?...,导致被浮动元素覆盖,除非这些 div 设置了宽度,并且父元素的宽度不足以包含它们,这样兄弟元素才会被强制换行。...顶部深蓝色盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,big和small已经浮动了 总结一下: 1.当父元素不给高度的时候, 2.内部元素不浮动时会撑开 3.而浮动的时候,父元素变成一条线 4...推荐使用 我们写项目的时候经常会用到这种方法,创建一个class写入清除浮动的样式,当我们有元素需要清除浮动的时候就在元素的class后面加上class。

    2.3K20

    新闻列表中标题和日期的左右分别对齐的几种处理方法

    很多前端新手在入门时,可能会稍微有点迷茫。 今天我列举几个常用的布局方法,便于新手学习。 这里只是为了实现功能效果,所以不额外添加美化类的样式。...缺点:如果标题文字比较长,会和日期叠在一起。 总之,不推荐使用。 方法二:日期浮动法 这种方法的dom结构和上面的不一样,它把日期给提前了。(上面的方法用这个DOM结构也是可以的。...这个方法我常用。虽然DOM结构不合理,但是css没有使用任何hack。 方法三:日期浮动法hack版 上面的方法虽然解决了问题,但是毕竟dom结构不是我们希望的。...当然,现在不考虑IE6\7的项目,两个浮动法,都是OK的。 方法四:模拟表格法 这种方式完全不推荐。但是,可以作为知识点进行学习,在某些场合,这种方法是很有用的。...,至于用不用hack,完全根据项目需要。

    49810

    CSS篇(010)-清除浮动的方式有哪些及优缺点?

    清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题 1.如下,我给父盒子设置一个boder,内部放两个盒子一个big 一个small,未给big和small设置浮动,则他们会默认撑开父盒子...2.当我给内部两个盒子加上float属性的时候 顶部深蓝色盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,big和small已经浮动了 总结一下: 当父元素不给高度的时候,内部元素不浮动时会撑开...,而浮动的时候,父元素变成一条线,这时候很多人会想到新建标签clear:both和float 方法,但是这两种方法并不推荐使用!...什么是clear:both clear:both:本质就是闭合浮动, 就是让父盒子闭合出口和入口,不让子盒子出来 清除浮动的方法(最常用的4种) 1.额外标签法(在最后一个浮动标签后,新加一个标签,...class="clear">额外标签法div> div> div class="footer">div> 此时的效果为 如果我们清除了浮动

    54520

    一文带你弄懂 CSS 布局知识

    但是如果我们对元素设置了向左浮动,那么它们就会往左浮动,三个块级元素都浮动到了同一行,如下图所示。...知乎某前端大 V 贺师俊的理解,我觉得很好: 言归正传,CSS1时代的网页还很简陋,但是随着万维网的迅猛发展,Web界面也迅速进化,当初简单的如同书页般的通栏式网页迅速绝迹,frameset由于天生存在的一堆问题也很快退出主流...直到元素与 viewport 顶部的距离再次大于 10px,将再次变成相对定位。 一般情况下,这个用于一些滚动查看文本时,需要将某些信息置顶再顶部的情况,如下图所示。...我把文章中涉及到的例子都整理到了 CodePen 上,方便大家尝试,有需要的可以看看:https://codepen.io/Ronald-Chan/pen/wvRdBGL flex 布局 对于 flex...总结 对于 CSS 布局,之前自己只粗浅地知道 float、display 这些属性,并没有深入对比彼此的区别。当然也没有去了解这些属性背后的 CSS 发展历程,于是很多时候都会被弄晕。

    55730
    领券