惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
L
LINUX DO - 最新话题
TaoSecurity Blog
TaoSecurity Blog
S
Security Affairs
H
Hacker News: Front Page
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hacker News: Ask HN
Hacker News: Ask HN
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
I
InfoQ
The Register - Security
The Register - Security
T
Tor Project blog
T
Threat Research - Cisco Blogs
Spread Privacy
Spread Privacy
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The GitHub Blog
The GitHub Blog
MongoDB | Blog
MongoDB | Blog
Webroot Blog
Webroot Blog
Recent Announcements
Recent Announcements
Vercel News
Vercel News
F
Fortinet All Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
SecWiki News
SecWiki News
G
Google Developers Blog
N
Netflix TechBlog - Medium
U
Unit 42
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
O
OpenAI News
博客园 - 叶小钗
T
Tailwind CSS Blog
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Help Net Security
Help Net Security
A
About on SuperTechFans
Recorded Future
Recorded Future
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
D
DataBreaches.Net
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
The Blog of Author Tim Ferriss
PCI Perspectives
PCI Perspectives
F
Full Disclosure
美团技术团队
L
Lohrmann on Cybersecurity
H
Hackread – Cybersecurity News, Data Breaches, AI and More

一颗小树

周更的第 100 篇 改变阅读方式 宝贵的人生建议 小树的工具库 2023 读《重构》有感 仅需 10 分钟,用 GPTs 实现文章总结助手 高质量的需求交付 产品始于问题,而不是解决方案 如何更好地休息 最优解人生 与体重斗,其乐无穷 结构化 prompt = 数字员工? 持续创作的法门 如何降低知识焦虑 7 月思维碎片 N 倍生产力提升:我的 AI 助理 Indie Hacker,互联网打工人的下一个出路? 如何成就伟大事业 夏日碎片 小报编辑的自我修养 一颗小树 #49 投入真实生活 一颗小树 #48 过年杂记 一颗小树 #47 我的人生信念(2023) 一颗小树 #46 回本就卖 一颗小树 #45 规划和落地 小树的 2022 年终总结 一颗小树 #44 构建高质量信源 一颗小树 #43 我的 2022 书单 一颗小树 #42 阳了怎么办 一颗小树 #41 一人企业 一颗小树 #40 非必要别正常啦 一颗小树 #39 阅读和创造 一颗小树 #38 疫情生活碎片 一颗小树 #37 基于多维表格的可转债投资系统 一颗小树 #36 飞盘初体验 一颗小树 #35 雁栖湖半日游 一颗小树 #34 初探多维表格 一颗小树 #33 回不去的名字叫家乡 一颗小树 #32 生活需要留白 一颗小树 #31 Figma 的成功之道 一颗小树 #30 拓宽自己 拥抱善意 一颗小树 #29 有关下雨的记忆 一颗小树 #28 隐入尘烟 一颗小树 #27 找到并坚持自己的热爱 一颗小树 #26 好产品的“差”改版 一颗小树 #25 吹吹南澳岛的海风 一颗小树 #24 代码重构的一点心得 一颗小树 #23 和团队新同学的对话 一颗小树 #22 从《干法》中学到的 一颗小树 #21 阿里四年我的收获和感想 一颗小树 #20 周更半年我学到的事 一颗小树 #19 慢慢来比较快 一颗小树 #18 只规划每天最重要的三件事 一颗小树 #17 裁员潮下的反思 一颗小树 #16 纪录片的力量在于真实 一颗小树 #15 世界很小但很好 一颗小树 #14 让自己成为问题的终结者 一颗小树 #13 别忘记你的热爱 一颗小树 #12 聊聊写作这件事 一颗小树 #11 开始投资前更重要的事 一颗小树 #10 疫情囤货指南 一颗小树 #9 疫情之下 重建内心的秩序 一颗小树 #8 不要倒在黎明前 一颗小树 #7 从小孩子身上学到的事 一颗小树 #6 和自己的产品一起成长 一颗小树 #5 技术对生产力的的变革是不可阻挡的 一颗小树 #4 暴风雨的意义 一颗小树 #3 投资成功,是我们变成一个更好的人之后自然的结果 一颗小树 #2 持续学习来应对这个复杂多变的世界 一颗小树 #1 任天堂和上岭村 一颗小树 #0 这是写给你们的第一封信 游戏改变世界 把自己给开源了 构建自己的不为清单 有爱和被爱 做了一点微小的工作 小树的 2021 年终总结 小树的 2020 年终总结 与其感慨路难行,不如马上出发 阿里前端也切图?不,人工智能帮你做 如何写好简历,拿到大厂 offer 的敲门砖 任时光匆匆流去 | 2019 年终总结 聊聊在阿里远程办公那点事儿 在 D2 做主持人是怎样一种体验? 提高工作效率的几个方法 有限状态机在 CSS 动画中的应用 「译」React 项目结构和组件命名之道 编写小而美函数的艺术 使用纯粹的JS构建 Web Component 翻译计划-状态管理请三思 利用Dawn工程化工具实践MobX数据流管理方案 高性能 MobX 模式(part 3)- 用例教程 高性能 MobX 模式(part 2)- 响应变化 技术文章写法浅谈 翻译计划-用node.js开发一个可交互的命令行应用 无他,唯手熟尔-前端实习面试题篇 工欲善其事必先利其器-前端实习简历篇 手把手带你用原生js实现css属性的set和get 我们来翻翻元素样式的族谱-getComputedStyle 翻译计划-从sass到PostCSS
百度前端学院笔记-复杂排版和sass初识
也树 · 2016-04-06 · via 一颗小树

简单的 css 布局和修饰效果的实现。

Task_1_6

收获

初次尝试使用 sass

众所周知,css 对于程序员来说并不像是一门编程语言,而是像叙事文一样一句一句平铺直叙下来,编写和维护成本都很高。自然的就有一些前端大牛不甘寂寞,为 css 越来越多的加入编程元素,如变量,如可复用的 mixin 代码块,这被叫做 css 预处理器。sass 就是这样一种 css 预处理器,先使用其专门的类 css 语言,然后再编译成我们通常意义上的 css 文件。接下来说一下我感觉非常方便的几个特性:

  • 变量 这是在我看来 css 实现可复用的一个最基本的要求,在设计稿中,我们经常会发现有很多的模块会有相同的颜色、边距、大小等等属性,如果在之前直接编写 css 的过程中,就需要不断重复去写这样的代码,如果改了需求就需要逐行查找并更改,实在是一个痛苦的过程。俗话说的好,不想“偷懒”的程序员不是好程序员。在 sass 中,可以将其相同的属性设置为一个变量,修改时也只需更改这个变量的值即可,一劳永逸。如:
$color: #f00;
p{
	color: $color;
}
span{
	background: $color;
}
h1{
	border: 1px solid $color;
}
  • 嵌套 实质是 css 中后代选择器的一种更为简洁的方式,在 css 中如果想要选取父元素的后代元素可能需要这样写:
table tr td{
	//你的css代码
}
  • 而在 sass 中你只需要像函数嵌套一样直接在内层嵌套,非常的直观清晰:
table{
    //table's css code
    tr{
        //tr's css code
        td{
        //td's css code
        }
    }
}
  • 父级选择器 在目前的 css 规范中 css 是层叠覆盖样式的,只能从父级选择子级,不可以变更选择的顺序,而 sass 是可以很方便的实现父级选择器,配合嵌套非常便捷。如:
div{
    &{
    //为div设置样式
    }
    &:hover{
    //为div添加hover伪类
    }
}
  • 多种样式复用 我学习到了两种方式,一种是针对像按钮这样的完全可复用的样式,可以先把样式写好,然后通过@extend 功能进行复用。
.blue-button{
	background: #00f;
}
button{
	@extend .blue-button;
}
  • 等同于
button{
	background: #00f;
}
  • 另一种方式就是需要对样式进行定制,其中用到的属性相同,但是值不相同。如:
//定义一个代码块,其中变量作为参数分别控制三种属性
@mixin font($size,$color,$line-height){
	font-size: $size;
	color: $color;
	line-height: $line-height;
}
p{
	@include font(12px,#f00,20px);
}
  • 等同于
p{
	font-size: 12px;
	color: #f00;
	line-height: 20px;
}

font-variant 属性

在设计图的右上角有个英文单词,需要全部字母大写并且首字母较大,起初我的想法是嵌套标签分别设置样式来实现,在 review 过别的人代码之后,发现了 font-variant 这个之前没有了解过的属性。

font-variant 属性设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。

直接就可以完美解决这样一个需求!那么兼容性呢?查阅资料后发现兼容所有主流浏览器,短短一行 css 就实现了我想要嵌套标签实现的效果,更加优雅简洁。

font-style 属性设置斜体字

之前只知道它的一个 italic 属性是斜体字,经过查阅发现 oblique 也可以设置倾斜的效果,倾斜程度较 italic 要轻一些。

首字下沉

对于一段文字,如果需要实现首字下沉,我们只需使用:first-letter选择器选取文段的第一个字,然后为其设置浮动即可实现环绕的效果。浮动同样可以实现图片的四周环绕效果。

小结

这一任务主要学习了 sass 的用法,了解了更多的 css 属性和文字排版的知识。

参考资料

我的 IFE 代码仓库 sass 入门 SASS 用法指南 - 阮一峰的网络日志 font-variant 属性