basefont.createfont设置表单字体_(09)CSS 给盒子、背景、链接、列表、表单、表格等加样式 | CSS...

a9ff028e8a0dcb57702fd10d990859ef.png

原创:itsOli  @前端一万小时

本文版权归作者所有,未经授权,请勿转载!

本文节选自“语雀”私有付费专栏「前端一万小时 | 从零基础到轻松就业」

8624246dabc5432ec7d589f4214f13db.png

1. 让一个元素“看不见”有几种方式?有什么区别?
2. 单行文本溢出加 ... 如何实现?
3. 如何在页面上实现一个圆形的可点击区域?
4. 解释下面代码的作用?字体里 \5b8b\4f53 代表什么?
    body{
      font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
    }

5. 如何去除列表元素的默认样式前面的点 · ?
  ✅ list-style: none;
  ❌ text-decoration: none;
  ❌ opacity: 0;
  ❌ default-type: none;

🙋上方面试题“参考答案详解”,请点击文末“


前言:通过前 8 篇文章基础知识的铺垫,我们也算是见识了 CSS 的“神通广大”。

这篇文章,我们就把实际工作中最高频用到的“CSS 加样式”挨个列一列,用一行行代码来展示 CSS 是如何给“盒子”、“背景”、“链接”、“列表”、“表单”、“表格”等加样式的。

本篇的所有知识点为必掌握项,我们学习的时候可以先自己按要求写出样式,然后参照我的代码,把一行行全部弄懂。

1 CSS 实现如下边框效果

5aa7de368ac14b7a32d8940fab07abf3.png

参考代码:
🔗源码及效果展示https://jsbin.com/wequzugoba/edit?html,css,output

HTML

html>
CSS
body {

2 CSS 实现如下边框、按钮效果

c98c75b8c3119d4b0b83a34dbc802d7d.gif

参考代码:
🔗源码及效果展示 https://jsbin.com/hewomutoku/1/edit?html,css,output

HTML

html>
CSS
body,

3 CSS 实现如下两个表格效果

dc45d63d472b3c0f7698f7d6a8572936.png

参考代码:
🔗源码及效果展示 https://jsbin.com/yaguhobamo/edit?html,css,output

HTML

html>
CSS
body {
❗️❗️❗️注释:结构选择器 第一类:
① 选择其父元素的第一个子元素。
E:first-child

② 选择其父元素的最后一个子元素。
E:last-child

③ 选择父元素下第 n 个元素或奇偶元素,n 的值为:数字/odd/even。
E:nth-child(n)
第二类:

❓(用例子讲解):试着运行以下代码,并对结果作出解释。
🔗源码及效果展示https://jsbin.com/jesaximine/edit?html,css,output

HTML

<div class="container">
CSS

.box:first-child {color: red;
}.box:first-of-type {background: blue;
}.box :first-child {font-size: 30px;
}.box :first-of-type {font-weight: bold;
}

3b90d77a500c0c763f8c8e0d1f0ba9c5.png

💡答,以上 HTML 结构为:

d5b2bdc9f7e5e0abfcf54bff4f0f99df.png

1.
.box
匹配类名为 box 的元素的父元素的第一个子元素,为 ①,使其字体颜色为 red。① 生效;2.
.box
匹配类名为 box 的元素的父元素下使用“同种标签”的“第一个”标签元素。①③④ 使用的是
 ,②⑤ 使用的是  标签。故选同种标签的第一个,①② 生效;3.
.box 
选择类名为 box 的后代元素的第一个子元素,加样式。故 ⑥ 生效;

4.

.box 
选择类名为 box 的后代元素同标签的第一个标签元素加样式。故 ⑥ 和 ⑦ 生效。

4 CSS 实现如下三角形

72fc52d02636e559c0b15f29a108fe9d.png

参考代码:
HTML
html>
CSS

t0:

🔗源码及效果展示https://jsbin.com/tuqihevite/edit?html,css,output

/*
🏆CSS 画三角形原理:
边框颜色 border-color 四个值默认的加载方向是(上、右、下、左) top right bottom left。
 */.t0 {width: 0;height: 0;border-style: solid;border-width: 100px 100px 100px 100px;border-color: blue yellow green red;
}

5ae01994ac66a874e22064e525da092d.png

t1:

🔗源码及效果展示https://jsbin.com/pugototalu/edit?html,css,output

.t1 {width: 0;height: 0;border-style: solid;border-width: 100px 100px 0 100px; /*
                                     🚀通过将 bottom 的 width 值设置为 0 来把多余的位置
                                     去掉!
                                       */border-color: blue transparent transparent transparent;
}

t5:

🔗源码及效果展示https://jsbin.com/taparetoxo/edit?html,css,output🏆分析

5ae01994ac66a874e22064e525da092d.png

以绿色的三角形为例,它的“高度”就是 CSS 中设置的 100px。而它的底边长则为:

d15a6fe42c73fc628ffe7595cf024630.png

我们可以看到,在绿色三角形中,从它的顶点垂直下来一条线将绿色三角形分为两个小的三角形:
① 左边小三角形受 left 影响;
② 右边小三角形受 right 影响。由此,我们可以画出 t5 这个三角形的形状:
.t5 {

5 CSS 对边框做圆角、圆形

3a72d9f50ad4e89d413784481aa1fc54.png

🔗源码及效果展示https://jsbin.com/xovapuyofi/edit?html,css,output

参考代码:
HTML
<div class="circle-1">div>
CSS
.circle-1 {

6 CSS 给盒子加个“背景”

6.1 需要注意的

加个“背景”就是加个图片,这个图片是背景图片,背景图片相当于:这个元素是一个窗口,而背景图片就是这个窗口后的风景。

假如这个窗口没有了,那这个背景图片也可能看不到,比如没有 height,就没有窗口:

HTML

<div class="box">div>
CSS

.box {width: 200px;height: 200px;border: 1px solid;background-image: url(https://qdywxs.github.io/css-images/css09-img01.jpg) 
}

955287f0f0736cc669902b9fdde3e807.gif

还有一个明显的例子:对于 span 它这个里边没有内容就代表着它没有宽度,当然就什么也没有。你稍微加一点文字,也会显示出来。

HTML

<span class="box">span>
CSS

.box {width: 200px;height: 200px;border: 1px solid;background-image: url(https://qdywxs.github.io/css-images/css09-img01.jpg); 
}

e2e3ae761d9f8de891c4c8a21fc57b7c.gif

6.2 对于 background-size 需要知道的

background-size 的设置是去拉伸背景图片(给图片加一个长度的范围)以适应给定的“宽高”尺寸。

① 设置绝对长度值:

HTML

<div class="box">div>
CSS

.box {width: 200px;height: 200px;border: 1px solid;background: url(https://qdywxs.github.io/css-images/css09-img01.jpg) 0 0 no-repeat;background-size: 200px 200px;
}

e85975d7f6145cc84b84b3f10b1621b8.gif ② 设置为 50%,就代表窗口宽度的一半:

.box {width: 500px;height: 200px;border: 1px solid;background: url(https://qdywxs.github.io/css-images/css09-img01.jpg) 0 0 no-repeat;background-size: 50%;
}

dbedf3ea287d36bda4e1a7cbe77380c9.gif ③ 设置为 contain,缩放背景图片以完全装入背景区,可能背景区部分空白。代表不管你背景图片多么的异型,我们这个窗口都可以把你给包围起来:

.box {width: 500px;height: 200px;border: 1px solid;background: url(https://qdywxs.github.io/css-images/css09-img01.jpg) 0 0 no-repeat;background-size: contain;
}

ee9e544c2f4349d01468c26851b42014.gif ④ 设置 cover,缩放背景图片以完全覆盖背景区,可能背景图片部分看不见:

.box {width: 600px;height: 200px;border: 1px solid;background: url(https://qdywxs.github.io/css-images/css09-img01.jpg) 0 0 no-repeat;background-size: cover;
}

71170453a98231711709b46d6ac4b921.gif

6.3 CSS Sprite 精灵图

CSS Sprite 指将不同的图片、图标合并在一张图上。使用 CSS Sprite 可以减少网络请求,提高网页加载性能——实质上,就是使用“背景图片”的方式来展示这些放在一张图上的小图标。

但由于图片的“可维护性”很差,现在一般都会选择用“字体图标”——在文章《CSS 给文本加样式:① 字体属性》中有详细讲解。

💡制作精灵图的网站:CSS Sprites Generatorhttps://www.toptal.com/developers/css/sprite-generator/

💡图片压缩网站:TinyPNGhttps://tinypng.com/

TinyPNG 使用智能有损压缩技术来减少 PNG 文件的文件大小,提高网站加载性能。

7 CSS 如何实现:单行文本溢出加 …

4734de337543fc0418862c1f8379b5dd.png

7.1 前置知识:CSS 中的 overflow 属性

p {overflow: 值;
}

属性visible默认值,内容不会被修剪,会呈现在元素框之外;hidden内容会被修剪,并且其余内容是不可见的;scroll内容会被修剪,但浏览器会显示滚动条以便查看其余的内容;auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容;inherit规定应该从父元素继承 overflow 属性的值。


7.2 代码实现

🔗源码及效果展示https://jsbin.com/kujewijega/1/edit?html,css,output

HTML

html>
CSS
.card{

8 动手写出下边的页面

549bcd61630a0708c9aef00fbb4cff6c.png

💡参考代码:
🔗源码及效果展示https://jsbin.com/yolanuwuwa/edit?html,css,output

HTML

html>
CSS
body,

后记:CSS 能做的事情还有很多,上边介绍的都是实际工作中的高频用法,属于必掌握。至于其他用法,我们要抱有敬畏之心去细水长流地学习,不必一蹴而就。

祝好,qdywxs ♥ you!

ddcd15a582d60f7c86f2961f13becf2d.gif点击“
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值