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

揭示不为人知的CSS

如果你在日常工作中使用CSS,那么你的主要目标很可能集中在使事情看起来是正确的。最终得到的正确结果远比如何实现更重要。这意味着相比正确的语法和视觉效果我们更少关注CSS的实现原理。...最多你可能只是直观地了解这个属性是如何工作的。没关系,你可以在不了解基本原理的情况下,对CSS有很好的争议。虽然,你知道解决问题的方案,但是你却不一定真的了解问题。 你过你正式上面说的那样,没关系。...外部显示类型通常解析为“block”或“inline”,并且几乎与CSS中的“display”属性的期望一致。 从技术上讲,外部显示类型决定了元素如何参与其父元素的格式化上下文。...注意事项: 一度,因为它和浮动元素的交互方式,理解如何让浏览器建立一个新的块格式化上下文非常重要。一个块格式化上下文的元素会包含浮动的元素。今天的情况不像以前那么重要了。...具有重叠偏移的定位元素可以导致元素占用相同空间而发生重叠问题。堆叠上下文可以解决这个问题。 层叠上下文 堆叠上下文决定事物呈现到页面的顺序。 你可以想象一个堆叠上下文,如图层。

1.6K30

React 入门手册

这些都是很好的理由,但是我希望你学习 React 的一个主要原因是它真的非常优秀。 React 促成了包括代码复用、组件化开发在内的几种很好的开发实践。...class 属性使我们可以轻松的设置 HTML 样式,并且在设计 UI 时,Tailwind 之类的 CSS 框架就是以这个属性为核心的。 但是这里有个问题。...React 会给出非常友好的错误信息,使你可以准确地定位问题并解决问题。 第三个 JSX 与 HTML 的不同点在于:在 JSX 中,我们可以内嵌 JavaScript。 我们会在下一节讨论这点。...学习如何使用条件渲染,如何在 JSX 中使用循环,如何使用 React 开发者工具 通过 plain CSS 或者 Styled Components 学习如何在 React 应用中使用 CSS。...学习如何使用 Context API,useContext 与 Redux 来管理 state。 学习如何与 forms 交互。 学习如何使用 React 路由。 学习如何测试 React 应用。

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

    如何学习 CSS

    伪元素选择器就像动态插入一个元素一样,例如::first-line的表现与用span 包裹第一行文本类似。 但是,如果该行的长度发生变化,它将重新应用,如果插入该元素则不会出现这种情况。...如果你设置一个元素 position: absolute ,该元素会从流中脱离,你需要确保这个元素不会与流中的元素重叠,且不影响你布局的其他部分的可读性。...然后,当你遇到属性的行为似乎不同的情况时,这种明显的不一致性似乎令人困惑,或者是语言的错误 。 如果你发现CSS在做一些非常奇怪的事情的情况下,问问为什么。...创建一个简单的测试用例来强调这个问题,问问对规范更熟悉的人。我被问到的许多CSS问题都是因为人们认为属性的表现与它在现实中的表现不同。这就是为什么我经常讨论关于对齐和尺寸,因为这些地方经常会混淆。...是的,CSS中有一些奇怪的东西。它是一门经过多年进化的语言,有些东西我们无法改变,除非我们发明了时间机器。然而,一旦你掌握了一些基础知识,并且理解了为什么会这样,你就可以更轻松地处理棘手的问题。

    1.8K10

    前端面试题最新

    怎么解决? 62.模拟 localStorage 时如何实现过期时间功能? 63.json格式如何去重,排序? 64.你知道立即执行函数有几种写法?...88.vue和react的原理有什么不同? 89.开启vuex中的严格模式有什么好处? 90.你了解双向绑定的计算属性的应用场景吗? 91.vue中的指令v-on如何绑定多个属性?...125.CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 126.超链接访问过后hover样式就不出现的问题是什么?如何解决? 127.什么是Css Hack?...285.react的优势以及特点? 286.vue为什么要求组件模板只能有一个根元素? 287.vue的属性名称与method的方法名称一样时会发生什么问题?...288.vue页面初始化闪动问题解决方案? 289.vue单页面应用刷新网页后vuex的state数据丢失的解决方案?

    1.1K10

    负责任的编写JavaScript(一)

    网站和 WEB 应用程序的区别并不像黄夹克和蜜蜂之间的区别那么明显,但是如果把一个网站和一个功能齐全的 WEB 应用程序搞混,开发者和使用者都会非常痛苦。...排斥 HTML 和 CSS 会让我们走向不可持续的开发方式,从而损害性能和可访问性。 不要让框架迫使您陷入不可持续的模式 在团队合作中,我发现了一些奇怪的代码,这些团队依赖于框架来帮助他们提高生产力。...如果客户端路由无法让人们知道页面上的内容已更改,则可访问性也会受到损害。这会使那些依靠辅助技术浏览页面的人无法确定页面上发生了什么改变,解决这个问题是一项艰巨的任务。 然后是我们的老对手:系统开销。...JavaScript 并非布局难题的解决方案 如果我们打算通过安装第三方模块来解决布局问题,那应该先想想,“我到底要做什么?” CSS 旨在完成此工作[19],并且不需要任何抽象即可有效使用。...如今,JavaScript模块试图解决的大多数布局问题,例如盒子放置,对齐和调整大小,管理文本溢出,甚至整个布局系统,都可以使用 CSS 解决。

    76050

    写给女朋友的中级前端面试秘籍(含详细答案,15k级别)

    阮一峰的flex系列 Flex布局是高频考点,而且是平常开发中最常用的布局方式之一,一定要熟悉。 BFC是什么?能解决什么问题? 什么是BFC?什么条件下会触发?应用场景有哪些?...关于bfc,可以看看三元大佬总结的文章 这篇文章里,顺便也把外边距重叠的问题讲了一下。 JS基础篇 讲讲JS的数据类型?...如何使用hook在依赖改变的时候重新发送请求? 写过自定义hook吗?解决了哪些问题。 讲讲React Hooks的闭包陷阱,你是怎么解决的?...预测最近面试会考 Cookie 的 SameSite 属性 这篇文章可以主要讲chrome80新增的cookie的SameSite属性,另外对于cookie整体也可以复习和回顾一遍,非常棒~ 谈谈...如何实现一个 call/apply 函数? 三元-手写代码系列 说实话我不太喜欢手写代码的面试题,但是很多公司喜欢考这个,有余力的话还是过一遍吧。

    88011

    精读《Web Components 的困境》

    那么 Web Components的缓慢推进也在情理之中了. 即使真的有一天这个标准建立起来,Web Components作为浏览器底层特性不应该拿出来和React这类应用层框架相比较....不得不考虑引入一大堆 Vendor 包,这些 Vendor 里可能还必须包含 React 这类两个版本不能同时使用的库。目前我们团队在做组件化方案时就遇到这个问题,只能想办法避免两个版本的出现。...你可以说这是 React 或 Webpack 引入的问题,但并没有看到 Web Compnents 标准化的解决方案。...Web components 能站出来解决这个问题,因为浏览器原生支持模块化,相当于将 react angular vue 的能力内置在浏览器中,而且一定会向前兼容(这也是 Web components...4 总结 我觉得 Web Components作为浏览器底层特性不应该拿出来和React, vue 这类应用层框架相比较. Web Components 的方向以及提供的价值都不会跟 应用框架一致.

    59030

    【前端必看】2017 年 JavaScript 全面崛起大运势

    与 Vue.js 相对应的,React 方面却依然处于碎片化的状态,开发者需要根据自身项目的情况,进行技术选型: 在页面间的路由切换问题; 如何获取数据; 如何把数据绑定到表单; 如何存储应用的状态;...少即是多 在三巨头之后,能非常有趣的发现第四名 Preact。 Preact 是一个 React 的小型替代解决方案:有相同的 API,却只有 3KB 的大小。...在2016年 Create React App 提供了一些优秀的预置和包,解决了初始化 React 应用时先要进行繁琐复杂的配置问题。...CSS in JavaScript 概念的出现即是为了解决上述问题, 概念本身很简单:既然我们在 React 中己能通过 JavaScript 来同时控制逻辑和模板部分,何不再进一步,连样式也一并管理了呢...有了它,妈妈再也不用担心我写代码时的格式化问题!

    2.7K50

    React 16.x折腾记 - (5) 记录用React开发项目过程遇到的问题(Webpack4React16antd等)

    问题列表 问题一:history模式下,接口和请求冲突的问题 就是反向映射接口和请求的根路径重叠,如下: proxy: { '/': {...changeOrigin: true, secure: false, } }, 这样映射会造成路由寻址不到,这个问题我遇到的时候...: 如何非ts下支持装饰器 , 以及常规的语法解析 因为用了mobx,实在不想用高阶函数的写法(一堆括号)。...上传失败 这个问题挺坑的,antd官方文档说了可以设置header, header为form-data就挂了(默认就是这个提交格式) 最终axios里面还要过滤下,在请求拦截器里面 // 产生一个基于...,识别为该格式的数据,不用`qs`编码,直接提交 if (config.headers['Content-Type'] === 'multipart/form-data') {

    22410

    React 折腾记 - (5) 记录用React开发项目过程遇到的问题(Webpack4React16antd等)

    ,没兴趣的止步,节约您的时间. ---- 问题列表 问题一:history模式下,接口和请求冲突的问题 就是反向映射接口和请求的根路径重叠,如下: proxy: {...这个问题我遇到的时候,浪费的挺多时间,最后发现还是有解的; 网上大多数人的写法就是,加个prefix(聚合一个前缀),然后用pathRewrite重写请求路径 proxy: {...(多进程); 给css也开启了tree shaking 我这个项目没有引入less或sass,用styled-components@4来写样式 webpack.base.config.js const...上传失败 这个问题,挺坑的...antd官方文档说了可以设置header, header为form-data就挂了(默认就是这个提交格式) 最终axios里面还要过滤下,在请求拦截器里面 // 产生一个基于...,识别为该格式的数据,不用`qs`编码,直接提交 if (config.headers['Content-Type'] === 'multipart/form-data') {

    1.6K20

    小结BFC的基本知识与应用

    本文就快速介绍下css样式中经常使用的BFC,主要包括以下几个方面: 1.什么是BFC 2.如何生成BFC 3.BFC的布局规则 4.应用 1.什么是BFC 首先看下什么是Formatting Context...(3)CSS2.1 中只有BFC和IFC,CSS3中还增加了GFC和FFC BFC: 块级格式化上下文,它是一个独立的渲染区域,该区域拥有一套渲染规则来约束块级盒子的布局,并且与这个区域外部无关。...属于同一个BFC的两个相邻的Box的margin会发生重叠; 可应用到解决margin重叠的问题中: 可在其中一个元素外包裹一层容器,并触发该容器生成BFC(overflow:hidden;),这样两个元素就不属于同一个...(3)生成BFC元素的子元素中,每一个子元素的margin与包含块的左边界border相接触(对于从左到右的格式化,否则相反),即使存在浮动也是如此; (4)BFC的区域不会与float元素区域重叠 可应用到两栏布局中...,可戳我之前的两篇文章: 详解CSS的Flex布局 实例详解:Flex布局(二) 4.3解决浮动元素的父元素高度塌陷的问题 举例: <!

    3.1K651

    谈谈前端面试经常遇到的一些题目

    什么是margin重叠问题?如何解决?问题描述: 两个块级元素的上外边距和下外边距可能会合并(折叠)为一个外边距,其大小会取其中外边距值大的那个,这种行为就是外边距折叠。...计算原则: 折叠合并后外边距的计算原则如下:如果两者都是正数,那么就去最大者如果是一正一负,就会正值减去负值的绝对值两个都是负值时,用0减去两个中绝对值大的那个解决办法: 对于折叠的情况,主要有两种:兄弟之间重叠和父子之间重叠...仅此一项就可以使我们的应用程序在可维护性和灵活性方面走得更远。然而,我们的经验已经证明,光靠这一点可能是不够的,尤其是当你的应用程序变得非常大的时候——想想几百个组件。...问题二:既然不同的客户端使用不同的密钥,那么对称加密的密钥如何传输? 那么解决的办法只能是 一端生成一个秘钥,然后通过HTTP传输给另一端 ,那么这样子又会产生新的问题。...那就是通过第三方认证的方式在HTTPS中,通过 证书 + 数字签名来解决这个问题。

    70330

    做了一份前端面试复习计划,保熟~

    遇到不会的问题,要表现出自己积极的一面(不好意思哈,确实是我的知识盲区,可以跟我说下 xxx 吗,我回去研究一下)。二、HTML+CSS 面试题HTML 和 CSS 面试题答不出来基本可以回去了。...2、CSS 面试题以下是针对 CSS 相关的面试题,这些题答不出来会给人非常不好的技术印象。2.1 盒模型介绍CSS3 中的盒模型有以下两种:标准盒模型、IE(替代)盒模型。...,计算的规则就是由一个叫做视觉格式化模型的东西所定义的,BFC 就是来自这个概念,它是 CSS 视觉渲染的一部分,用于决定块级盒的布局及浮动相互影响范围的一个区域。...解决不了循环引用导致的无法回收问题。V8 的垃圾回收机制也是基于标记清除算法,不过对其做了一些优化。针对新生区采用并行回收。针对老生区采用增量标记与惰性回收。...shouldComponentUpdate(nextProps,nextState)这个生命周期需要返回一个 Boolean 类型的值,判断是否需要更新渲染组件,优化 react 应用的主要手段之一,当返回

    50820

    我用 React 和 Vue 构建了同款应用,来看看哪里不一样(2020 版)

    作者 | Sunil Sandhu 译者 | 王强 策划 | 小智 几年前,我决定试着分别在 React 和 Vue 中构建一个相当标准的 To Do(待办事项)应用。...唯一的区别是 React 应用有两个 CSS 文件,而 Vue 应用没有任何 CSS 文件。...开发社区关于 CSS 的结构化方式这个话题有大量的讨论,尤其是 React 这块,因为有许多 CSS-in-JS 解决方案,诸如样式化组件和 emotion 等。...在应用中,我们将简单地调用 name 来引用同一段数据。这里的主要区别在于我们不能简单地写上name = 'John',因为 React 有一些限制来预防这种简单且无所顾忌的突变。...我们还使用了与 React 示例中相同的 newId() 函数。 如何从列表中删除项目?

    4.8K30

    精读《请停止 css-in-js 的行为》

    为了解决这些问题,社区里的解决方案也是出了一茬又一茬,从最早的 CSS prepocessor(SASS、LESS、Stylus)到后来的后起之秀 PostCSS,再到 CSS Modules、Styled-Components...props,如果这个组件的 dom 还有多层级呢?...我们团队在使用过 scss 和 css modules 后,仍然又重新选择了使用 scss。css modules 虽然有效解决了样式冲突的问题,但是带来的使用成本也很大。...尤其是在写动画(keyframe)的时候,语法尤其奇怪,总是出错,难以调试。并且我们团队在开发时,因为大家书写规范,也从来没有碰到过样式冲突的问题。...Styled-components 笔者未曾使用过,但它消除人肉在 dom 和 css 之间做映射的优点,非常吸引我。而对于样式扩展的问题,其实也有比较优雅的方式。

    1.9K50

    Ionic vs React Native: 移动开发哪家强 ?

    选择合适的平台是开发人员在创建移动应用程序时面临的主要问题之一。据统计,iOS 和 Android 两大巨头已经有超过了十年的竞争。...讨论这个主题时,首先想到的两个框架是Ionic和React Native,他们提供了一个解决问题的先进方案,还提供了易于获取的技术支持。...该框架的主要目标是开发混合软件,其接口和性能将尽可能接近本地解决方案。Ionic基于CSS,HTML5,Sass和Angular 1.x。...● 应用包装程序。 如果你的项目由许多独立的组件组成,那么打包和调试对于开发者来说是一个非常头痛的问题。RN 不会是这种情况。...如果你之前没有学习任何的框架,Ionic 更容易让新手掌握,该框架与CSS创建的解决方案相同,还有庞大的社区支持。实际案例的结构化文档丰富了 Ionic。它还具有大量的现成组件,不需要重新编程。

    5.1K50

    前端开发:这10个Chrome扩展你不得不知

    转载请注明出处 葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。...这个工具在识别和显示元素的CSS属性方面很有用。它包括一个浮动窗口,您可以把鼠标悬停在页面上任一元素上以查看它的所有CSS属性。您可以通过快捷键在CSSViewer的窗体中轻松复制您选定元素的样式。...也许您会感到奇怪,Chrome本身的开发者工具不是已经足够了吗,为什么我还要用它? 其实这个插件比我们浏览器中的开发者工具显示的信息更多也更先进。...数据通常以纯黑白的方式密集显示,这使得理解它非常困难,特别是您试图定位一个深度嵌套的属性时。 JSONView格式化和美化JSON数据。...Library Sniffer在这方面对我的帮助很大。这个工具可以为你提供网页上的详细信息,无论它是基于类似React, Angular, Vue, Svelte, Wordpress等平台或框架。

    2.4K10

    为什么和 CSS-in-JS 说拜拜

    CSS-in-JS 完全解决了这一问题,它使样式默认为本地作用域。...很明显,这需要占用额外的CPU周期,但这是否足以对应用程序的性能产生明显的影响?我们在下一节中深入研究这个问题。 2 CSS-in-JS增加的包的大小。...React核心团队成员、React Hooks的最初设计师Sebastian Markbåge在React 18工作组中写了一篇非常有见地的讨论,内容是关于CSS-in-JS库需要如何改变才能与React...虽然嵌套选择器即将出现在CSS中,但它们还没有出现,而这个功能对我们来说是一个巨大开发质量的提升。 幸运的是,这个问题有一个简单的解决方案--Sass模块,它只是用Sass编写的CSS模块。...众所周知,当应用许多元素时,内联样式会导致次优的性能 该库仍然将模板组件插入你的React树中,如图所示。这将使React DevTools变得混乱,就像运行时的CSS-in-JS一样。

    2.4K20

    css-in-js 探讨

    因此,我将在我的示例中使用React,但相同或类似的原则适用于其他JavaScript框架,包括Vue。 CSS领域正朝着多个方向发展,因为要解决许多挑战并且没有“正确”的路径。...我一直在花费大量精力尝试各种方法,主要是在个人项目上,所以这个系列的目的只是告知,而不是给你解决方案。 CSS的挑战 在深入研究代码之前,有必要解释Web应用程序样式化方面最显着的挑战。...我们只能有条件地应用样式集 - 如果按钮是主要的,我们可能会应用“primary”类并在单独的CSS文件中定义它的样式以应用它在屏幕上的样式。...可能会想到内联样式来解决此问题,但它们不支持伪类,属性选择器,媒体查询等。 可重用性 重用规则集,媒体查询等是我最近很少看到的一个主题,因为它已经被Sass和Less等预处理器解决了。...这意味着我们遗憾的是无法使用PostCSS插件。 我要提到的最后一个缺点是工具。 CSS-in-JS正在以非常快的速度发展,文本编辑器扩展,linters,代码格式化等等需要追赶新功能以保持同等水平。

    5.4K20
    领券