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

【 前端相关 网页样式 】总结CSS3“伪”与“伪元素

本文从解析伪与伪元素含义出发,区分这两者区别,并且列出大部分伪与伪元素具体用法,即使你有用过伪与伪元素里面总有一两个你没见过吧。...直译过来就是:css引入伪和伪元素概念是为了格式化文档树以外信息。也就是说,伪和伪元素是用来修饰不在文档树部分,比如,一句话第一个字母,或者是列表第一个元素。...虽然它和普通css相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述状态下才能为元素添加样式,所以将其称为伪。 伪元素用于创建一些不在文档树元素,并为其添加样式。... CSS: .first { font-size: 5em; } 如果创建一个元素,我们可以通过设置:first-letter伪元素来为其添加样式。...这个时候,看起来好像是创建了一个虚拟元素并添加了样式实际上文档树并不存在这个元素

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

前端 Web 开发常见问题概述

浮动是 Html CSS 布局关键知识点,不识浮动不算懂 CSS,真正了解了浮动,其它概念迎刃而解。 先看一个问题,在 Html 元素渲染解析,如何实现图片在文章靠左显示?...如果仅是实现左对齐布局,有另外一个 CSS 样式同样可以达到:display:inline-block。inline-block 意义是子元素以块元素方式,从左向右依次排列。...除了可以打包 JS 文件,webpack 还可以打包 css 文件、压缩 Html/JS/CSS 文件内容等。这些功能也是通过在配置文件添加描述信息实现。...使用 webpack,可以将多张图片自动合并成精灵集,并输出一份匹配 sass 样式文件。webpack 减去了设计师手动合图、排图、编写相应 CSS 样式麻烦。...除了 404 页面,与此同类需要注意优化,是 img 标签 src 属性为空,这也会造成浏览器发送空请求至服务器。也可以使用同样检测工具,检测页面哪些 src 属性没有值。

1.3K21

CSS 20大酷刑

配置样式加载器」:在Webpack配置文件,我们可以配置不同类型样式加载器,例如处理CSS、Sass、Less等。...「配置样式」:Vite 使用默认样式预处理器,例如 CSS、Sass、Less,无需额外配置。 「在应用引入样式」:在我们应用代码,我们可以直接引入样式文件,Vite 会自动处理。...文件实际使用名,从构建后CSS删除未使用样式。...它可以检测哪些CSS名在项目的JavaScript文件中被实际使用,以及哪些未被使用。 「Tree Shaking」:这是一种用于剔除不使用代码优化技术,它会在打包过程移除不会被执行代码。...在CSS,这意味着Webpack 5会识别哪些CSS样式在JavaScript代码没有被引用,然后将这些未使用样式从构建后CSS删除。

18530

webpack4.0各个击破(2)—— CSS

(本篇参数配置及使用方式均基于webpack4.0版本) ? 一....新解决方案:预编译语言 + 构建工具 + BEM + ACSS全局样式+CSSModule组件样式+ POSTCSS 预编译语言使用基本不变,现代化开发已经不再需要通过预定义函数来解决单位转换或是兼容性问题...使用CSS-Modules 项目地址:CSS Modules开源地址 CSS Module在CSS中使用选择器,其基本原理是将CSS代码样式名替换为哈希值,并建立一个json对照表,在js文件对于属性名选择器使用均被替换为哈希字符串...在webpack中使用CSS Modules功能非常简单,只需要在css-loader配置参数设置:{modules:true}即可激活模块化功能。...图解Css-Process-Chain 从上述配置可以看出,使用预编译器编写样式文件需要经过一系列loader和plugin才能得到最终目标文件,它之所以很抽象是因为中间处理环节对开发者来说是黑箱操作

77830

DarkMode(2):深色模式解决方案——css颜色变量实现Dark Mode

然后打包输出不同样式,即: CSS预处理直接生成多套主题样式 利用Less,stylus 或 sass 变量代替颜色值 配置多个主题颜色配置 利用grunt/gulp/webpack等工具输出多套主题样式...页面加载后,根据用户需求加载不同样式列表 推荐阅读《webpack 换肤功能多主题/配色样式打包解决方案》,配置文件: https://github.com/hiyangguo/webpack-mutiple-theme-bundle-css-demo...每个文件或模块都是有效 JS 模块,因此我们还需要 css-loader 将CSS样式文件转换为变成 JS 模块。...监听主题模式,深色模式时为 body 添加名 dark,根据 CSS 变量响应式布局特点,自动生效 dark 名下 CSS。...所以我们需要针对兼容浏览器做一些兜底处理,这里我们可以在 webpack 等构建工具借助 post-css postcss-css-variables (https://www.npmjs.com

3.1K10

CSS工程化

css in js时,往往是将样式加入到元素style属性,会大量增加元素内联样式,并且可能会有大量重复,不易阅读最终页面代码 「css module」 非常有趣和好用css模块化方案,编写简单...等)搭建工程 构建工具允许将css样式切分为更加精细模块 同JS变量一样,每个css模块文件难以出现冲突名,冲突名往往发生在不同css模块文件 只需要保证构建工具在合并样式代码后不会出现名冲突即可...如何应用样式: css module带来了一个新问题:源代码名和最终生成名是不一样,而开发者只知道自己写源代码名,并不知道最终名是什么,那如何应用名到元素上呢?...js代码是经过我简化后代表真实css-loader转换后代码,css-loader转换后代码会有些复杂,同时会导出更多信息,核心思想不变。...style-loader使用方式是用一段js代码,将样式加入到style元素

83631

webpack 代码分离快速指北

splitChunk 相关配置参数 建议将公共使用第三方库显式地配置为公共部分,而不是 webpack 自己去判断处理 chunks: 表示显示块范围,有三个可选值:initial(初始块)...配置 vendors 缓存组配置可以检测第三方模块是否在 node_modules ,如果存在则该 splitChunks 生效,将会分离到 vendors~......这样文件 配置 filename 则会打包成 [filename] 命名文件 runtimeChunk 作用 这个 runtimeChunk 实际上就是链接业务逻辑和第三方库之间关系 manifest...发生了改变) // v4版本 webpack 不用配置最好也提取出来 optimization: { runtimeChunk: { name: 'runtime' } } reuseExistingChunk...多个组件共用一部分样式,如果分离开来,第二个页面就有了 CSS 文件缓存,访问速度自然会加快 MiniCssExtractPlugin 新版本 webpack 使用这个插件 注意,在引入样式文件 import

1.1K10

【总结】1839- 原子CSS引擎——unocss

什么是unocss unocss是一个即时原子CSS引擎,它可以让你用简短名来控制元素样式,而不需要写复杂CSS代码。 当然,原子样式也有很多选择,最著名就是 Tailwind。...但由于Tailwind 会生成大量样式定义,会导致全量 CSS 文件往往体积会多至数 MB,从而有性能上有一些不足 ❝扩展:什么是原子化 原子化CSS是一种CSS架构方式,其支持小型、单一用途,其名称基于视觉功能...它可以让你CSS更一致,因为它遵循一套预设规则和变量。 它可以让你CSS更灵活,因为它支持自定义工具,变体,指令和图标。 它可以让你CSS更易于维护,因为它避免了样式冲突和重复代码。...export default defineConfig({ plugins: [ UnoCSS(), ], }) webpack5配置 // webpack.config.js const...: { realContentHash: true, }, } webopack4配置 // webpack.config.js const UnoCSS = require('@unocss

44410

指尖前端重构(React)技术分析报告

至于页面跳转时过渡动画,有些UI库给出了一些过渡样式,比如touchstone。该库已不再维护,文档不佳,且与新版本react-router配合使用有兼容情况。...目前解决方案应用最广泛css-modules,即在webpack配置开启module选项,使用styles对象来写样式。 解决原理是将css名在打包后编译成哈希字符串,保持其唯一性。...当想要使用全局样式时要再配置,稍显繁杂,且它名编写方式为对象方式,需要整体修改,另外在使用它时,发现不支持-横线命名方式,支持下划线方式,推荐驼峰式,而我们之前html样式名大多是横线命名...,这意味着原html和css名都要对应修改,考虑到样式名非常多,这一方式舍弃。...Webpack css-loader 有个属性 :local 加上之后会变成局部作用域,即webpack会对该类型进行自动哈希转码处理,显然名一个个加:local 是有些呆板工作,于是想到可以利用

5.4K30

理解CSS模块化

举个具体例子: 如下是一个简单CSS文件。其中,.base名不需要是工程唯一,因为它将不会是真正被解析名。它可以看成是在JavaScript模块中使用样式别名。...但是名并不要求一定要长好看对不对?只要可以将样式正确应用于元素就可以了嘛。而CSS模块化方法完成非常好,所以我觉得,这不是一个问题。...这是因为模块将CSS样式和组件相绑定,从而不会发生全局样式冲突。这其实是一件好事,我相信你也会同意对不对。 另一方面,要定义全局样式也是可以,只要使用:global()就好了。...在webpack.config.js,加上如下配置,使得webpackCSS文件作为CSS模块来看待: { test: /\.css$/, loader: 'style-loader!...css-loader?modules' } 这时,它将把样式注入到页面``元素

60540

webpack 学习笔记系列04-资源处理优化

PostCSS 本身只是将 CSS 解析成 AST,需要依赖其强大插件系统才能实现丰富功能,配置写法有三种: 项目的根目录下配置文件 postcss.config.js webpack 配置文件对应...PreCSS 可以写 sass 和 cssnext 语法 CSS。 cssnano 根据 CSS 语法解析结果智能压缩代码,比如合并一些写法、缩短颜色值等一些常见值。...} } 注意: 不管作为独立 module.rule 配置,还是放到 babel rule ,都要保证先通过 eslint-loader 检测代码风格 TypeScript 需要用 tslint-loader...file-loader:根据配置项复制使用到资源(局限于图片)到构建后文件夹,并更改对应链接 url-loader:包含 file-loader 全部功能,并能根据配置转换为 Base64 方式引入.../src/index.html' }) ] }; 5.2 多入口页面配置 对于多入口 html 页面可以通过插件多次实例化来实现,配置插件,引入入口 js 文件还是同样 main.js

1.7K120

原子CSS引擎——unocss

什么是unocss unocss是一个即时原子CSS引擎,它可以让你用简短名来控制元素样式,而不需要写复杂CSS代码。 当然,原子样式也有很多选择,最著名就是 Tailwind。...但由于Tailwind 会生成大量样式定义,会导致全量 CSS 文件往往体积会多至数 MB,从而有性能上有一些不足 ❝扩展:什么是原子化 原子化CSS是一种CSS架构方式,其支持小型、单一用途,其名称基于视觉功能...它可以让你CSS更一致,因为它遵循一套预设规则和变量。 它可以让你CSS更灵活,因为它支持自定义工具,变体,指令和图标。 它可以让你CSS更易于维护,因为它避免了样式冲突和重复代码。...export default defineConfig({ plugins: [ UnoCSS(), ], }) webpack5配置 // webpack.config.js const...: { realContentHash: true, }, } webopack4配置 // webpack.config.js const UnoCSS = require('@unocss

97830

一个合格初级前端工程师需要掌握模块笔记

标签属性 class属性:用于定义元素名 id属性:用于指定元素唯一id,该属性值在整个html文档具有唯一性 style属性:用于指定元素行内样式,使用该属性后将会覆盖任何全局样式设定...css代码通常存放在标签内 css 样式由选择符和声明组成,而声明又由属性和值组成 选择符{属性:值} 选择符:又称选择器,指明网页要应用样式规则元素 CSS 放置位置...行内样式建议使用 内联式样式表 外联样式CSS继承 CSS某些样式是具有继承性,继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。...,一级子元素原则器只选择第一级子元素,不会再向下查找元素 id选择器:通过id查找页面唯一标签 class选择器:通过特定class()来查找页面对应标签,以 .class名称 伪选择器...css样式,为了界面美观,很多元素自带margin、padding等样式这些样式在不同浏览器解析值都不一样,需要将css样式重置,保证在不同浏览器显示一致。

3.5K10

Web前端开发高级前端技术(高级开发程序篇)

对于css命名规范,尽量使用class选择器进行样式定义,命名时取父元素class名作为前缀,使用-符号进行连接。名与样式之间以空格进行分割。...优化前端效果,可以删除多余容器元素,让代码层次少,避免使用table进行页面的布局,换成用div+css样式布局。 css代码优化,在各个浏览器,相同元素解析结果不同,就需要手动重置一些样式。...css样式选择器优先级 对于css样式选择器,优先级高会覆盖优先级低。 第一,id选择器权重为100,第二,选择器权重为10,第三,标签选择器权重为1。...打包工具,现在流行很多前端打包工具都有支持css sprite集成,如 webpack只要安装webpack-spritesmith依赖,然后在配置文件引用依赖var SpritesmithPlugin...方法说明 clear从Map移除所有元素 delete从Map移除指定元素 forEach对Map每个元素执行指定操作 get返回Map指定元素 has如果Map包含指定元素,则返回 true

2.3K10

CSS Modules入门教程

渲染规则可以参看这篇文章探究 CSS 解析原理 会带来代码冗余 由于CSS不能使用类似于js模块化功能,可能你在一个css文件写了一个公共样式,而你在另外一个css也需要这样一个样式,这时候...CSS Modules 解决了什么问题 全局命名冲突,因为CSS Modules只关心组件本身,只要保证组件本身命名冲突,就不会有这样问题,一个组件被编译之后名可能是这样: /* App.css...作为webpack配置文件。...,因此确保了唯一性,我们再看看浏览器inspector样式应用,如下: ?...就可以发现.container没有被转换 定义哈希CSS Modules默认是以[hash:base64]来进行名转换,可辨识度不高,因此我们需要自定义 开启自定义,可以使用一个配置参数localIdentName

2.5K40

VueJS 开发常见问题集锦

webpack 生产配置文件 plugins 字段添加一个插件,使用内置方法 ContextReplacementPlugin 过滤掉 Moment.js 那些用不到语言包: 解决方案采自...后来改配置文件时候发现这个是 webpack 配置选项之一:路径别名。   ...ヾ(゚∀゚ゞ) CSS 作用域与模块 组件内样式   通常,组件 标签里样式是全局,在使用第三方 UI 库(如:Element)时,全局样式很可能影响 UI 库样式...复用程度较高样式建议这样使用。 另,在组件内样式应避免使用元素选择器,原因在于元素选择器与属性选择器组合时,性能会大大降低。...这是由于 vue-cli 默认配置 webpack 是以站点根目录引用文件,然而有时候我们可能需要把项目部署到子目录

1.4K40

css模块化及CSS Modules使用详解

成本     更好实现快速迭代     便于代码维护 CSS 模块化解决方案有很多,主要有两。...另一是依旧使用 CSS使用 JS 来管理样式依赖,代表是 CSS Modules。CSS Modules 能最大化地结合现有 CSS 生态和 JS 模块化能力,API 简洁到几乎零学习成本。...结合 Webpack  css-loader 后,就可以在 CSS 定义样式,在 JS 中导入。 启用 CSS Modules // webpack.config.js css?...如何与全局样式共存 前端项目不可避免会引入 normalize.css 或其它一全局 css 文件。使用 Webpack 可以让全局样式CSS Modules 局部样式和谐共存。...下面是我们项目中使用 webpack 部分配置代码: module: { loaders: [{ test: /\.jsx?

6.6K100

Vue-cli4.5 脚手架学习超详细

因为 webpack 配置繁琐, 阻止一批想用 vue 但是不会 webpack 开发人员,所以作者直接将所有 vue 项目中用到配置全部帮你写好了,这样,就不需要开发人员再去配置基础 webpack...template (模板结构) script 组件代码逻辑 style 样式 注意点 : 单文件组件,无法直接在浏览器中使用,必须经过 webpack 这种打包工具,处理后,才能在浏览器中使用...推荐 dart-sass 性能更好(也是 sass 官方使用),而且 node-sass 因为国情问题经常装上 IV. 语法检测选择 选择EsLint + Prettier V....什么时候进行检测 保存时进行检测(推荐) - 提交时检测(我翻译意思,不知道准不准确) VI....;注意:这里样式以及views和components组件样式都是全局样式 //如果不通过单独添加样式名设置样式,则会作用到所有相应标签上 //可以通过添加scoped声明此样式只此文件用 <style

77140
领券