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

由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)

也就是说,上下两个块级盒之间的边距由它们之中边距较大的元素决定,而不是他们的和!...格式化则表明了在这个环境中,元素处于此环境中应当被初始化,即元素在此环境中应当如何布局等。元素如果创建了BF么BFC决定了如何对其内容进行定位,以及它与其他元素的关系和相互作用。...转换为BFC的理解则是:BFC中的元素的布局是不受外界的影响(我们往往利用这个特性来消除浮动元素对其非浮动的兄弟元素和其子元素带来的影响。)...父容器并没有把浮动的子元素包围起来,俗称塌陷,为了消除这种现象,除了用传统的伪类方法。...因为BFC内部的元素和外部的元素绝对不会互相影响,因此,当BFC外部存在浮动时,它不应该影响BFC内部Box的布局,BFC会通过变窄,而不与浮动有重叠。

1.1K50

仅用18行JavaScript构建一个倒数计时器

构建时钟,使其行为完全符合自己希望的方式(而不是尝试将插件弯曲符合自己的意愿)。 因此,事不宜迟,这里介绍了如何仅用18行JavaScript来制作自己的倒计时时钟。...计算剩余时间 我们需要编写一个函数,该函数需要一个表示给定的结束时间字符串(如上所述)。然后,我们计算该时间与当前时间之间的时差。...截止时间和当前时间两两相减,并获得两者之间的时间差。 const total = Date.parse(endtime) - Date.parse(new Date()); 3....这些是包含我们时钟的元素的ID,以及倒计时的结束时间。在函数内部,我们将声明一个clock变量并将其用于存储对我们的时钟容器div的引用。这意味着我们不必继续查询DOM。...消除初始延迟,使您的时钟立即显示。 提高时钟脚本的效率,以免持续重建整个时钟。 根据需要添加前导零。 1.消除初始延迟,使您的时钟立即显示 在时钟中,我们习惯于setInterval每秒更新一次显示。

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

    web前端学习摘要。

    对齐方式(不管元素如何浮动,始终以父级容器或它前面同层次并列的元素作为参考进行对齐。    2. 一旦元素浮动起来,就可以直接适用CSS盒子模型属性。...定义内部文本及内联元素如何横向对齐。默认值是start,取决于html文档的direction属性设置(默认都是从左至右,所以等同于left)。...默认情况下,浏览器将行高呈现为字体尺寸的1到1.2倍左右,通常将行高设置我字号的150%到180%之间。 典型应用:单行文本在容器中垂直居中。实现办法:让容器行高等于容器高度。...7. overflow:设置对象处理溢出内容的控制方式,针对的是容器内部的内容,不仅仅是单纯文本。此属性适用于块状元素。内容的溢出可能是横向或纵向的,因此延展开来,可以细分为x轴和y轴。...实际应用技巧: step1:消除默认的列表区域中的边距。  和默认存在padding,默认存在margin。 step2:消除默认的列表项目符号。

    3.7K30

    「兔了个兔」CSS如此之美,看我如何实现可爱兔兔LOADING页面(万字详解附源码)

    :*=,接下来是针对一个特定元素的样式,它的类名是 :container padding: 0;消除元素内边距,即使元素的内容与边框之间没有任何间距; margin: 0;消除元素外边距...,包括面部的容器和一些细节。....rabbit-face定义了面部的形状,包括背景颜色、大小和圆角。 position: absolute;将面部的位置设为绝对定位,以便在容器内部定位。...left: -1.25em; top: -1.87em;将面部相对于容器左上角向左上方偏移了一定距离,使得眼睛、鼻子和嘴巴的位置恰好在面部容器的底部。....rabbit-face:before定义了面部容器的下半部分,用于表示兔子的嘴巴。 position: absolute;将下半部分的位置设为绝对定位,以便在面部容器内部定位。

    44760

    CSS 块级化上下文 BFC

    概念BFC(块级化上下文) 是一个独立渲染的区域,处于 BFC 内部的元素与外部的元素互相隔离,使内外元素的定位不会互相影响创建 BFC 方式根元素float 属性不为 none position 属性为...absolute 和 fixed display 属性为下列之一 table-cell, table-caption, inline-block, flex, inline-flex overflow...属性不为 visible (默认为 visible,需修改为 hidden, scroll, auto)规则内部的 box 会在垂直方向,一个接一个地放置BFC 就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素...div>每个元素的 margin box 的左边, 与包含块 border box 的左边相接触,即使存在浮动也是如此img { float: left; }.content { overflow:...div>box 垂直方向的距离由 margin 决定,属于同一个 BFC 的两个相邻 box 的 margin 会发生重叠 => 利用 BFC 消除 Margin Collapse img { float

    61421

    【CSS】323- 深度解析 CSS 中的“浮动”

    第二,如何解决这些因为浮动而造成的影响? 第三,bfc原理?...从图中的标注和说明我们可以清晰的知道,float不会影响前面已经渲染好的文档,而会影响在其后面将要渲染的文档。那么问题来了,怎样才能消除因为z1的浮动而对z4,z5造成的影响呢?...第二个影响:影响了父容器的高度,正常父元素的高度是自适应的,高度为其包含的内容总高度,而内部元素的浮动造成了父容器高度塌陷。 第三个影响:父容器高度塌陷了,将会影响和父元素同级的文档布局。...所以这个子容器不能有高度和内容,不然会影响父元素的布局。 写到这,外部矛盾的解决方式和各自的原理已经说的很清楚了。那么内部矛盾怎么解决呢?...最后再总结一下吧: 不同业务中可能需要不同的清除浮动的方式,不论选择哪一种方式,都避不开外部矛盾和内部矛盾,你的业务需要保留内部矛盾,只解决外部矛盾,还是外部矛盾和内部矛盾都解决。

    99720

    前端面试题2(CSS)

    :checked 单选框或复选框被选中 如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?...一个页面是由很多个 Box 组成的,元素的类型和 display 属性,决定了这个 Box 的类型 不同类型的 Box,会参与不同的 Formatting Context(决定如何渲染文档的容器),因此...相同权重,定义最近者为准:行内样式 > 内部样式 > 外部样式 含外部载入样式时,后载入样式覆盖其前面的载入的样式和内部样式 选择器优先级: 行内样式[1000] > id[100] > class[10...双飞翼布局:对圣杯布局(使用相对定位,对以后布局有局限性)的改进,消除相对定位布局 原理:主体元素上设置左右边距,预留两翼位置。左右两栏使用浮动和负边距归位,消除相对定位。...,那么撑开容器高度的是 line-height 而不是容器内的文字内容 把 line-height 值设置为 height 一样大小的值可以实现单行文字的垂直居中 line-height 和 height

    2.8K11

    Vue组件设计学习笔记,持续记录

    容器组件 容器组件内的子组件通常具有业务或数据依赖关系 集中/统一的状态管理,向其他展示型/容器型组件提供数据(充当数据源)和行为逻辑处理(接收回调) 如果使用了全局状态管理,那么容器内部的业务组件可以自行调用全局状态处理业务...容器组件专门负责和store通信,把数据通过props传递给展示组件,展示组件如果数据需要更新,需要传递回调给容器组件,在容器组 件中执行具体操作(业务逻辑)来获取更新结果 展示型组件不再直接和store...,那么,这时候就要考虑引入容器组件 容器组件和展示组件的区别并没有被严格定义,它们的区别不在技术上而是目的性上。...各组件之前以组合的关系互相配合,也是对功能需求的模块化抽象,当需求变化时可以将实现以模块粒度进行调整 。 落实到具体业务中如何做  1....结合组件本身和业务上下文将差异合理的消除在内部 比如part3中,其他的part只有一个类似更多>>的link,但是它却有多个(一居,二居...)

    43820

    使用 CSS Grid 的响应式网页设计:消除媒体查询过载

    说再见复杂的代码,拥抱更简单的解决方案吧:CSS Grid。在这篇文章中,我们将踏上一场激动人心的 CSS Grid 之旅,发现它如何消除了对复杂媒体查询的需求,使你能够轻松创建响应式网站。...让我们开始吧为了更好地理解 CSS Grid,让我们使用 HTML 和 CSS 创建一个简单的网格:div class="grid-container"> div class="item">Item...这种简写符号通过自动生成所需数量的具有一致大小的列,从而节省了时间和精力。2、Auto-fitauto-fit 函数是一个强大的工具,根据网格容器内的可用空间自动调整列数。...让我们分解使用的不同CSS属性:display: grid;:此属性将容器元素定义为网格容器,建立一个新的网格格式上下文。这允许你创建具有行和列的网格布局。...grid-gap: 5px;:grid-gap 属性设置了网格项之间的间距。在这种情况下,网格项之间有5像素的间隔,提供了视觉分隔并改善了整体设计。

    30610

    你不知道的 CSS flex 陷阱

    问题描述某次我做项目时候,用到了 flex 布局,布局的页面效果,大概是一个父容器盒子 div 里面,有几个子元素 div,这几个子元素 div 一行大概只能放下 3 个,超出就需要换行显示了。...正当我洋洋得意,以为这个小问题立马被搞定时,现实给我泼了一盆冷水,奇怪的事情发生了!效果跟我上面预想的不太一样,第一行和第二行之间,出现了莫名的间距。...flex 布局属性问题解决了,让我们来复习一下flex-wrap和align-content的属性。flex-wrapflex-wrap 属性定义了当一行容不下所有子元素时,如何进行换行。...center:所有行位于容器的中央。space-between:行之间的间距相等,首行和末行紧贴容器边缘。space-around:行之间的间距相等,首行和末行与容器边缘有一半的间距。..._消除display: flex; 上下间距-CSDN博客我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    37373

    CSS 基础系列:inline-blcok和float

    1.比对: 简单比对一下div+css布局中的inline-block和float的特点,同时附上使用inline-block之后元素之间产生空隙的解决方法。...如果你的html中一系列元素每个元素之间都换行了,当你对这些元素设置inline-block时,这些元素之间就会出现空隙。而浮动元素会忽略空白节点,互相紧贴。...3.如何消除inline-block带来的空隙; 3.1 思路一: 元素间的间隙出现的原因是元素标签之间的空格,把空格去掉间隙自然就会消失。...这时还有一个办法:在父容器上使用font-size:0。...; display: inline-block; font-size: 14px; /*要设置相应的字号*/ } 原理: 换行和回车会给各个span之间带来空格,而空格会被当成字符处理

    75710

    分层 Blazor 组件

    虽然标记帮助器很有用,但仍存在一些编程缺陷,而 Blazor 组件则绝妙地消除了这些缺陷。在本文中,我将生成新的 Blazor 组件,以通过 Bootstrap 4 框架服务显示模式对话框。...它将模式对话框的临时非 HTML 标记转换为 Bootstrap 专用标记(请访问 bit.ly/2RxmWJS)。 输入标记和相应输出之间的任何转换都是通过 C# 代码执行的。...Toggle 子组件仅用作触发器标记的容器。相反,Content 子组件包装整个对话框的内容,并拆分为三段:页眉、正文和页脚。 总之,根据上面的代码片段,生成的 UI 由标记为“打开”的主按钮组成。...图 3 展示了参数如何通过模式组件的层次结构进行流动。 ? 图 3:分层组件中的级联值 模式组件内部 Toggle 和 Content 组件负责以递归方式分析 Modal 组件的内部内容。...其中同时使用了 ID 和 AutoClose 属性。Id 值用于标识对话框的最外面容器。使用 ID 签名的 DIV 会在模式触发时弹出。

    8.4K10

    BFC背后的神奇原理

    不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。...它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。...它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。...两个p之间的距离为100px,发送了margin重叠。 根据BFC布局规则第二条: Box垂直方向的距离由margin决定。...因为BFC内部的元素和外部的元素绝对不会互相影响,因此, 当BFC外部存在浮动时,它不应该影响BFC内部Box的布局,BFC会通过变窄,而不与浮动有重叠。

    80810

    行内元素空白“消消乐”

    ~欢迎点击上方蓝字「歪码行空」快速关注~ ---- 前言 相信大家应该都遇到过下面这个问题:“HTML 源码中行内元素之间的空白显示在了屏幕上”。可能大家都有自己的小技巧来消除这些意料之外的空白。...废话不多说,接下来我给大家总结一下消除行内元素 HTML 源码空白的小技巧。 下文中以一个div中的两个span标签为例。...那么既然空格和字体大小font-size相关。那么也可以通过字体大小来消除这个空隙。 在父级元素上设置font-size: 0;,然后再在内部的span设置需要的字体大小即可。...解决方案 4:letter-spacing 消除文字间距离 同方案 2、方案 3,我们还可以通过letter-spacing改变行内元素之间空隙的大小,将letter-spacing设为-0.333333em...-- 消除行内元素换行导致的空白 -->右侧行内元素 div> 总结 以上就是消除行内元素间 HTML 空白的 5 种方案,其中第三第四种不太推荐使用,因为空白符的宽度跟字体相关

    1.3K10

    新的 W3C 提案助你安全操作 DOM

    根据之前发布的 Imperva 报告,XSS 漏洞是 2014 年、2015 年、2016 年和 2017 年最普遍的基于 Web 的攻击形式。...消除 转义是指把 HTML 实体 替换未特殊的 HTML 字符。而消除则指的是从 HTML 字符串中删除可能产生危害的脚本。...$div.innerHTML = `hello world` 为了实现正确的消除效果,可能需要将输入字符串解析为 HTML,省略被认为有风险的标签和属性,并保留安全的部分...下的一个方法,解析在内部完成一次,结果会直接扩展到 DOM 中。...> 与 DomPurify 的对比 DOMPurify 是一个著名的库,也是提供类似的清理功能,Sanitizier API 和 DOMPurify 之间的主要区别在于 DOMPurify 可能会以字符串形式返回结果

    75820

    块格式化上下文(BFC)布局规则及常见情景

    不同类型的Box, 会参与不同的Formatting context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。...它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。...它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。...两个p之间的距离为100px,发送了margin重叠。 根据BFC布局规则第二条: Box垂直方向的距离由margin决定。...因为BFC内部的元素和外部的元素绝对不会互相影响,因此, 当BFC外部存在浮动时,它不应该影响BFC内部Box的布局,BFC会通过变窄,而不与浮动有重叠。

    1.6K40

    如何解决?什么是BFC?

    ,但是子容器和父容器之间却没有距离。...class="container"> div class="content">div> div> 结果还是一样的,子容器和父容器之间没有距离,父容器却和页面顶部产生了距离...原因:根据规范,一个盒子如果没有添加 BFC,那么它的上边距应该和其文档流中的第一个子元素的上边距重叠。 解决: 通过给父容器添加 overflow: hidden 属性,使之成为 BFC 。....container { overflow: hidden; } 这回就是我们想要的结果了。 原理:BFC 在页面上是一个独立的容器,父子/外部/内部互不影响。...空元素边距合并 场景四:两个兄弟元素之间有四个空元素,每个空元素有 25px 的 margin-top,预计的结果是两个兄弟元素之间的距离是 100px 。

    81121

    【CSS——功能实现】用户名片(蓝桥杯真题-2321)【合集】

    div class="center">:作为一个外层容器,可能用于将内部的名片居中显示,具体取决于 CSS 样式的设置。...div class="card">:表示用户名片的整体容器,包含名片的各个部分。 div class="additional">:作为名片的附加信息部分的容器。...全局样式重置 * { margin: 0; padding: 0; }:将所有元素的外边距和内边距都设置为 0,消除浏览器默认样式的影响。 2....主要信息部分样式设置 .general:设置主要信息部分的容器宽度为 300px,高度为 100%,将其定位到名片的右侧,设置层级为 1,添加内边距,并使用弹性布局使其内部元素在垂直方向上均匀分布。...三、工作流程 ▶️ HTML 代码构建了用户名片的基本结构,包括外层容器、名片容器、附加信息部分和主要信息部分,以及各个部分内的具体信息元素。

    4600
    领券