diff --git a/02-CSS基础/01-CSS属性:字体属性和文本属性.md b/02-CSS基础/01-CSS属性:字体属性和文本属性.md index 49f386e..f1c975e 100644 --- a/02-CSS基础/01-CSS属性:字体属性和文本属性.md +++ b/02-CSS基础/01-CSS属性:字体属性和文本属性.md @@ -69,6 +69,13 @@ CSS中,所有的行,都有行高。盒子模型的padding,绝对不是直 ![](http://img.smyhvae.com/20170808_2240.png) +### `vertical-align: middle;` 属性 + +```css +vertical-align: middle; /*指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。*/ + +``` + ### font字体属性 css样式中,字体属性有以下几种: diff --git a/02-CSS基础/02-CSS属性:背景属性.md b/02-CSS基础/02-CSS属性:背景属性.md index 2505cd9..82ddbe9 100644 --- a/02-CSS基础/02-CSS属性:背景属性.md +++ b/02-CSS基础/02-CSS属性:背景属性.md @@ -4,10 +4,7 @@ > 以下是正文。 - -## background系列属性 - -### 常见背景属性 +## background 的常见背景属性 CSS样式中,常见的背景属性有以下几种:(经常用到,要记住) @@ -25,58 +22,74 @@ CSS样式中,常见的背景属性有以下几种:(经常用到,要记 - `background-attachment:scroll;` 设置背景图片是否跟着滚动条一起移动。 属性值可以是:`scroll`(与fixed属性相反,默认属性)、`fixed`(背景就会被固定住,不会被滚动条滚走)。 -- 另外还有一个简写属性叫做`background`,它的作用是:将上面的多个属性写在一个声明中。 +- 另外还有一个综合属性叫做`background`,它的作用是:将上面的多个属性写在一个声明中。 上面这几个属性经常用到,需要记住。现在我们逐个进行讲解。 +## background-color:背景颜色的表示方法 -### background-color:背景颜色的表示方法 - -css2.1中,背景颜色的表示方法有三种:单词、rgb表示法、十六进制表示法。 +css2.1 中,背景颜色的表示方法有三种:单词、rgb表示法、十六进制表示法。 比如红色可以有下面的三种表示方法: -``` +```css background-color: red; background-color: rgb(255,0,0); background-color: #ff0000; ``` +CSS3 中,有一种新的表示颜色的方式:RGBA或者HSLA。 + +RGBA、HSLA可应用于**所有**使用颜色的地方。 + 下面分别介绍。 -**1、用英语单词来表示:** +### 用英语单词表示 -能够用英语单词来表述的颜色,都是简单颜色。比如红色: +能够用英语单词来表述的颜色,都是简单颜色。比如红色、绿色等。代码举例: -``` +```css background-color: red; ``` +### RGB 表示法 -**2、rgb表示法:** - -rgb表示三原色“红”red、“绿”green、“蓝”blue。 +RGB 表示三原色“红”red、“绿”green、“蓝”blue。 光学显示器中,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色的。r、g、b的值,每个值的取值范围0~255,一共256个值。 比如红色: -``` +```css background-color: rgb(255,0,0); ``` 黑色: -``` +```css background-color: rgb(0,0,0); ``` 颜色可以叠加,比如黄色就是红色和绿色的叠加: -``` +```css background-color: rgb(255,255,0); ``` -**3、十六进制表示法:** +### RGBA 表示法 + +```javascript + background-color: rgba(0, 0, 255, 0.3); + + border: 30px solid rgba(0, 255, 0, 0.3); +``` + +解释: + +- RGBA 即:Red、Green、Blue、Alpha + +- R、G、B 的取值范围是:0~255 + +### 十六进制表示法 比如红色: @@ -84,7 +97,7 @@ background-color: rgb(255,255,0); background-color: #ff0000; ``` -PS:所有用#开头的值,都是16进制的。 +PS:所有用`#`开头的值,都是16进制的。 这里,我们就要学会16进制与10进制之间的转换。下面举几个例子。 @@ -98,7 +111,6 @@ PS:所有用#开头的值,都是16进制的。 `background-color: #123456;`等价于`background-color: rgb(18,52,86);` - **十六进制可以简化为3位,所有#aabbcc的形式,能够简化为#abc**。举例如下: 比如: @@ -148,8 +160,37 @@ PS:所有用#开头的值,都是16进制的。 #ccc 浅灰 ``` +### HSLA 表示法 -### `background-repeat`属性(重要) +举例: + +```javascript + background-color: hsla(240,50%,50%,0.4); +``` + +解释: + +- `H` 色调,取值范围 0~360。0或360表示红色、120表示绿色、240表示蓝色。 + +- `S` 饱和度,取值范围 0%~100%。值越大,越鲜艳。 + +- `L` 亮度,取值范围 0%~100%。亮度最大时为白色,最小时为黑色。 + +- `A` 透明度,取值范围 0~1。 + +如果不知道 H 的值该设置多少,我们不妨来看一下**色盘**: + +![](http://img.smyhvae.com/20180207_1545.png) + +推荐链接:[配色宝典](http://www.uisdc.com/how-to-create-color-palettes) + +**关于设置透明度的其他方式:** + +(1)`opacity: 0.3;` 会将整个盒子及子盒子设置透明度。也就是说,当盒子设置半透明的时候,会影响里面的子盒子。 + +(2)`background: transparent;` 可以单独设置透明度,但设置的是完全透明(不可调节透明度)。 + +## `background-repeat`属性 `background-repeat:no-repeat;`设置背景图片是否重复及如何重复,默认平铺满。属性值可以是: @@ -182,7 +223,7 @@ PS:padding的区域也是有背景图的。 ![](http://img.smyhvae.com/2015-10-03-css-22.png) -### `background-position`属性 +## `background-position`属性 `background-position`属性指的是**背景定位**属性。公式如下: @@ -267,7 +308,7 @@ PS:padding的区域也是有背景图的。 上图可以看出,将banner图作为div的背景后,banner图会永远处于网页的正中间(水平方向来看)。 -### background-attachment属性 +## background-attachment 属性 - `background-attachment:scroll;` 设置背景图片是否固定。属性值可以是: - `fixed`(背景就会被固定住,不会被滚动条滚走)。 @@ -283,13 +324,13 @@ background属性和border一样,是一个综合属性,可以将多个属性 举例1: -``` +```css background:red url(1.jpg) no-repeat 100px 100px fixed; ``` 等价于: -``` +```css background-color:red; background-image:url(1.jpg); background-repeat:no-repeat; @@ -303,7 +344,7 @@ background属性和border一样,是一个综合属性,可以将多个属性 比如说,对于下面这样的属性: -``` +```css background: blue url(images/wuyifan.jpg) no-repeat 100px 100px; ``` @@ -311,11 +352,8 @@ background属性和border一样,是一个综合属性,可以将多个属性 ![](http://img.smyhvae.com/20170813_1515.png) - PS:以后的CSS3内容中,我们会接触到更多的background属性: background-origin、background-clip、background-size(在CSS2.1背景图片是不能调整尺寸,IE9开始兼容)、多背景。 - - ## 我的公众号 想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。 diff --git a/02-CSS基础/06-CSS盒模型详解.md b/02-CSS基础/06-CSS盒模型详解.md index 1a665fd..520cfe9 100644 --- a/02-CSS基础/06-CSS盒模型详解.md +++ b/02-CSS基础/06-CSS盒模型详解.md @@ -10,7 +10,6 @@ 但是,图片、表单元素一律看作是文本,它们并不是盒子。这个很好理解,比如说,一张图片里并不能放东西,它自己就是自己的内容。 - ### 盒子中的区域 一个盒子中主要的属性就5个:width、height、padding、border、margin。如下: @@ -24,20 +23,14 @@ ![](http://img.smyhvae.com/20170727_2128.png) - - - 代码演示: ![](http://img.smyhvae.com/20170727_2326.png) - - 上面这个盒子,width:200px; height:200px; 但是真实占有的宽高是302*302。 这是因为还要加上padding、border。 注意:**宽度和真实占有宽度,不是一个概念!**来看下面这例子。 - ### 标准盒模型和IE盒模型 > 我们目前所学习的知识中,以标准盒子模型为准。 @@ -52,10 +45,8 @@ IE盒子模型: 上图显示: - 在 CSS 盒子模型 (Box Model) 规定了元素处理元素的几种方式: - - width和height:**内容**的宽度、高度(不是盒子的宽度、高度)。 - padding:内边距。 - border:边框。 @@ -63,14 +54,12 @@ IE盒子模型: CSS盒模型和IE盒模型的区别: - - 在 **标准盒子模型**中,**width 和 height 指的是内容区域**的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。 +- 在 **标准盒子模型**中,**width 和 height 指的是内容区域**的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。 - - **IE盒子模型**中,**width 和 height 指的是内容区域+border+padding**的宽度和高度。 +- **IE盒子模型**中,**width 和 height 指的是内容区域+border+padding**的宽度和高度。 - 注:Android中也有margin和padding的概念,意思是差不多的,如果你会一点Android,应该比较好理解吧。区别在于,Android中没有border这个东西,而且在Android中,margin并不是控件的一部分,我觉得这样做更合理一些,呵呵。 -
- +注:Android中也有margin和padding的概念,意思是差不多的,如果你会一点Android,应该比较好理解吧。区别在于,Android中没有border这个东西,而且在Android中,margin并不是控件的一部分,我觉得这样做更合理一些,呵呵。 ### ``标签也有margin @@ -116,10 +105,7 @@ CSS盒模型和IE盒模型的区别: ![](http://img.smyhvae.com/20151003_27.png) - - -### 认识width、height - +## 认识width、height 一定要知道,在前端开发工程师眼中,世界中的一切都是不同的。 @@ -127,8 +113,6 @@ CSS盒模型和IE盒模型的区别: ![](http://img.smyhvae.com/20170727_2329.png) - - 下面这两个盒子,真实占有宽高,都是302*302: 盒子1: @@ -154,7 +138,6 @@ CSS盒模型和IE盒模型的区别: ``` - 真实占有宽度 = 左border + 左padding + width + 右padding + 右border 上面这两个盒子的盒模型图如下: @@ -165,12 +148,9 @@ CSS盒模型和IE盒模型的区别: **如果想保持一个盒子的真实占有宽度不变,那么加width的时候就要减padding。加padding的时候就要减width**。因为盒子变胖了是灾难性的,这会把别的盒子挤下去。 +## 认识padding -### 认识padding - - -#### padding区域也有颜色 - +### padding区域也有颜色 padding就是内边距。padding的区域有背景颜色,css2.1前提下,并且背景颜色一定和内容区域的相同。也就是说,background-color将填充**所有border以内的区域。** @@ -178,9 +158,7 @@ padding就是内边距。padding的区域有背景颜色,css2.1前提下,并 ![](http://img.smyhvae.com/20170728_1005.png) - - -#### padding有四个方向 +### padding有四个方向 padding是4个方向的,所以我们能够分别描述4个方向的padding。 @@ -188,7 +166,7 @@ padding是4个方向的,所以我们能够分别描述4个方向的padding。 小属性的写法: -``` +```css padding-top: 30px; padding-right: 20px; padding-bottom: 40px; @@ -197,7 +175,7 @@ padding是4个方向的,所以我们能够分别描述4个方向的padding。 综合属性的写法:(上、右、下、左)(顺时针方向,用空格隔开。margin的道理也是一样的) -``` +```css padding:30px 20px 40px 100px; ``` @@ -213,7 +191,6 @@ padding: 30px 40px; 则顺序等价于:30px 40px 30px 40px; - 要懂得,**用小属性层叠大属性**。比如: ``` @@ -225,7 +202,6 @@ padding-left: 30px; ![](http://img.smyhvae.com/20170728_1039.png) - 下面的写法: ``` @@ -235,10 +211,9 @@ padding: 20px; 第一行的小属性无效,因为被第二行的大属性层叠掉了。 - 下面的题,会做了,说明你明白了。 -#### 一些题目 +### 一些题目 **题目1**:说出下面盒子真实占有宽高,并画出盒模型图。 @@ -252,14 +227,10 @@ padding: 20px; } ``` - 答案: ![](http://img.smyhvae.com/20170728_1048.png) - - - **题目2**:说出下面盒子真实占有宽高,并画出盒模型图。 ```css @@ -280,18 +251,15 @@ padding: 20px; 盒子模型如下: - ![](http://img.smyhvae.com/20170728_1100.png) - **题目3**:现在给你一个盒子模型图,请写出代码,试着用最最简单的方法写。 ![](http://img.smyhvae.com/20170728_1401.png) - 答案: -``` +```css width:123px; height:123px; padding:20px 40px; @@ -302,10 +270,9 @@ padding: 20px; ![](http://img.smyhvae.com/20170728_1402.png) - 答案: -``` +```css width:123px; height:123px; padding:20px; @@ -314,29 +281,25 @@ padding: 20px; ``` - - -#### 一些元素,默认带有padding +### 一些元素,默认带有padding 一些元素,默认带有`padding`,比如ul标签。如下: ![](http://img.smyhvae.com/20170728_1413.png) - 上图显示,不加任何样式的ul,也是有40px的padding-left。 所以,我们做站的时候,为了便于控制,总是喜欢清除这个默认的padding。 可以使用`*`进行清除: -``` +```css *{ margin: 0; padding: 0; } ``` - 但是,`*`的效率不高,所以我们使用并集选择器,罗列所有的标签(不用背,有专业的清除默认样式的样式表,今后学习): ``` @@ -346,45 +309,48 @@ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input } ``` - - -### 认识border +## 认识border border就是边框。边框有三个要素:像素(粗细)、线型、颜色。 -颜色如果不写,默认是黑色。另外两个属性不写,要命了,显示不出来边框。 +比如: -#### border-style +```css + +.div1{ + width: 10px; + height: 10px; + border: 2px solid red; +} + +``` + +颜色如果不写,默认是黑色。另外两个属性如果不写,则无法显示边框。 + +### border-style border的所有的线型如下:(我们可以通过查看`CSS参考手册`得到) ![](http://img.smyhvae.com/20170728_1435.png) - 比如`border:10px ridge red;`这个属性,在chrome和firefox、IE中有细微差别:(因为可以显示出效果,因此并不是兼容性问题,只是有细微差别而已) ![](http://img.smyhvae.com/20170728_1619.png) - 如果公司里面的设计师是处女座的,追求极高的**页面还原度**,那么不能使用css来制作边框。就要用到图片,就要切图了。 所以,比较稳定的border-style就几个:solid、dashed、dotted。 - - - - - -#### border拆分 +### border拆分 border是一个大综合属性。比如说: -``` +```css border:1px solid red; ``` -就是把4个边框,都设置为1px宽度、线型实线、red颜色。 +就是把上下左右这四个方向的边框,都设置为 1px 宽度、线型实线、red颜色。 PS:小技巧:在sublime text中,为了快速输入`border:1px solid red;`这个属性,可以直接输入`bd`,然后选第二个后回车。 @@ -406,16 +372,13 @@ border-color:red green blue yellow; ![](http://img.smyhvae.com/20170728_1516.png) - - (1)按三要素拆: -``` +```css border-width:10px; //边框宽度 border-style:solid; //线型 border-color:red; //颜色。 ``` - 等价于: ``` @@ -424,7 +387,7 @@ border:10px solid red; (2)按方向来拆: -``` +```css border-top:10px solid red; border-right:10px solid red; border-bottom:10px solid red; @@ -433,15 +396,13 @@ border-left:10px solid red; 等价于: -``` +```css border:10px solid red; ``` (3)按三要素和方向来拆:(就是把每个方向的,每个要素拆开。3*4 = 12) - - -``` +```css border-top-width:10px; border-top-style:solid; border-top-color:red; @@ -456,57 +417,75 @@ border:10px solid red; border-left-color:red; ``` - 等价于: -``` +```css border:10px solid red; ``` - 工作中到底用什么?很简答:什么简单用什么。但要懂得,用小属性层叠大属性。举例如下: ![](http://img.smyhvae.com/20170728_1606.png) - 为了实现上方效果,写法如下: -``` +```css border:10px solid red; border-right-color:blue; ``` ![](http://img.smyhvae.com/20170728_1608.png) - 为了实现上方效果,写法如下: -``` +```css border:10px solid red; border-style:solid dashed; ``` border可以没有: -``` +```css border:none; ``` 可以某一条边没有: -``` +```css border-left: none; ``` 也可以调整左边边框的宽度为0: -``` +```css border-left-width: 0; ``` +### border-image 属性 -#### 举例:利用border属性画一个三角形(小技巧) +比如: + +```css +border-image: url(.img.png) 30 round; +``` + +这个属性在实际开发中用得不多,暂时忽略。 + +### 举例1:利用 border 属性画一个三角形(小技巧) + +完整代码如下: + +```css +div{ + width: 0; + height: 0; + border: 50px solid transparent; + border-top-color: red; + border-bottom: none; +} + +``` 步骤如下: @@ -514,24 +493,39 @@ border-left-width: 0; ![](http://img.smyhvae.com/20170728_1640.png) - (2)然后将border的底部取消: ![](http://img.smyhvae.com/20170728_1645.png) - -(3)最后设置border的左边和右边为白色: +(3)最后设置border的左边和右边为白色或者**透明**: ![](http://img.smyhvae.com/20170728_1649.png) - 这样,一个三角形就画好了。 +### 举例2:利用 border 属性画一个三角形(更推荐的技巧) +上面的例子1中,画出来的是直角三角形,可如果我想画等边三角形,要怎么做呢? +完整代码如下:(用 css 画等边三角形) +```css +.div1{ + width: 0; + height: 0; + border-top: 30px solid red; + /* 通过改变 border-left 和 border-right 中的像素值,来改变三角形的形状 */ + border-left: 20px solid transparent; + border-right: 20px solid transparent; +} +``` +效果如下: + +![](http://img.smyhvae.com/20191004_1830.png) + +另外,我们在上方代码的基础之上,再加一个 `border-radus: 20px;` 就能画出一个扇形。 ## 我的公众号 @@ -542,4 +536,3 @@ border-left-width: 0; ![](http://img.smyhvae.com/2016040102.jpg) - diff --git a/02-CSS基础/09-CSS案例讲解:博雅互动.md b/02-CSS基础/09-CSS案例讲解:博雅互动.md index 75a34e0..d1c01b7 100644 --- a/02-CSS基础/09-CSS案例讲解:博雅互动.md +++ b/02-CSS基础/09-CSS案例讲解:博雅互动.md @@ -1,6 +1,5 @@ - ## 前言 > CSS已经学了一些基础内容了,我们来讲解一个小案例吧。以[博雅互动](http://www.boyaa.com/)的官网首页举例。 @@ -17,13 +16,10 @@ 我们量一下中间四个方形图的width,是1000px,所以,网页版心的宽度是1000px。 - ### 网页的结构 从结构上来看,网页分为头部(导航栏)、banner区、内容区、底部。 - - ## 导航栏的制作 在此我们只讲基础知识的使用,不涉及浏览器的优化。 @@ -35,8 +31,6 @@ 现在我们需要在`class=inner_c`里放三个东西:左侧的logo、中间的导航栏、右侧的“加入我们”。 - - 接下来我们开始做右侧的「加入我们」,「加入我们」的背景是带圆角的矩形,这个圆角,实现的方式有两种:要么切图,要么用CSS3实现(IE 7、IE 8不兼容)。我们暂时使用切图来实现。 我们最好把「加入我们」这个超链接``放到`div`里,然后设置div的margin和padding,而不是直接设置``的边距。 @@ -50,7 +44,6 @@ 最终,导航栏的代码如下: - ```html @@ -167,22 +160,18 @@ ![](http://img.smyhvae.com/20180114_1332.gif) - ## banenr图 > 因为涉及到 js 的内容,这里先不讲内容区域**轮播图**的效果。 我们首先在导航条和banner图之间加一道墙,即`class=cl`,然后采用隔墙法对其设置`clear: both;`的属性。 - 然后设置banner的背景图片属性,添加banner图。 - ## 内容区域的制作 导航栏+banner+内容区域的完整代码如下: - ```html @@ -394,7 +383,6 @@ 代码解释: - (1)导航栏,左侧的logo: **错误的写法:** @@ -417,7 +405,6 @@ } ``` - 这样写虽然视觉效果上达到了,但是搜索引擎是搜不到图片的,不利于SEO。 **正确的写法:** @@ -432,7 +419,6 @@ ``` - 然后将**logo设置为背景图**: ```css @@ -459,50 +445,28 @@ (1)内容区域,“点击播放”右侧的小三角形: - 我们在“点击播放”的右侧放了一个三角形。这个很有技巧。 ![](http://img.smyhvae.com/20180115_1356.png) - - 代码截取如下: - - ```css - .content .product ul li p.djbf a{ - font-size: 12px; - color:#38B774; - text-decoration: none; - background:url(images/sanjiaoxing.png) no-repeat right center; - padding-right: 12px; - } + .content .product ul li p.djbf a{ + font-size: 12px; + color:#38B774; + text-decoration: none; + background:url(images/sanjiaoxing.png) no-repeat right center; + padding-right: 12px; + } ``` 上方代码中,我们在第6行给“点击播放”这个超链接加一个右padding(很关键),然后在第5行把小三角这个背景图放在右padding的位置,就能达到想要的视觉效果。 - - -(2) - - -导航栏+banner+内容区域的效果如下: - +(2)导航栏+banner+内容区域的效果如下: ![](http://img.smyhvae.com/20180114_1405.png) +工程文件如下: - - - - - - - - - - - - - +- [2018-03-20-boya.rar](待审核通过) \ No newline at end of file diff --git a/02-CSS基础/12-CSS3属性详解(一).md b/02-CSS基础/12-CSS3属性详解(一).md index a29f8d8..648db81 100644 --- a/02-CSS基础/12-CSS3属性详解(一).md +++ b/02-CSS基础/12-CSS3属性详解(一).md @@ -1,6 +1,4 @@ - - > 本文最初发表于[博客园](http://www.cnblogs.com/smyhvae/p/8430898.html),并在[GitHub](https://github.com/qianguyihao/Web)上持续更新**前端的系列文章**。欢迎在GitHub上关注我,一起入门和进阶前端。 > 以下是正文。 @@ -11,8 +9,6 @@ 本文主要内容: -- 颜色 - - 文本 - 盒模型中的 box-sizing 属性 @@ -25,54 +21,6 @@ - 渐变 -## 颜色 - -CSS3中,有一种新的表示颜色的方式:RGBA或者HSLA。 - -RGBA、HSLA可应用于**所有**使用颜色的地方。 - -**RGBA 举例**: - -```javascript - background-color: rgba(0, 0, 255, 0.3); - - border: 30px solid rgba(0, 255, 0, 0.3); -``` - -解释: - -- RGBA 即:Red、Green、Blue、Alpha - -- R、G、B 的取值范围是:0~255 - -**HSLA 举例**: - -```javascript - background-color: hsla(240,50%,50%,0.4); -``` - -解释: - -- `H` 色调,取值范围 0~360。0或360表示红色、120表示绿色、240表示蓝色。 - -- `S` 饱和度,取值范围 0%~100%。值越大,越鲜艳。 - -- `L` 亮度,取值范围 0%~100%。亮度最大时为白色,最小时为黑色。 - -- `A` 透明度,取值范围 0~1。 - -如果不知道 H 的值该设置多少,我们不妨来看一下**色盘**: - -![](http://img.smyhvae.com/20180207_1545.png) - -推荐链接:[配色宝典](http://www.uisdc.com/how-to-create-color-palettes) - -**关于设置透明度的其他方式:** - -(1)`opacity: 0.3;` 会将整个盒子及子盒子设置透明度。也就是说,当盒子设置半透明的时候,会影响里面的子盒子。 - -(2)`background: transparent;` 可以单独设置透明度,但设置的是完全透明(不可调节透明度)。 - ## 文本 @@ -531,7 +479,7 @@ CSS3 对盒模型做出了新的定义,即允许开发人员**指定盒子宽 上方代码中,我们其实给盒子设置了五张小图,拼成的一张大图。当改变浏览器窗口大小时,可以自适应布局。 -## 渐变 +## 渐变:background-image 渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。 @@ -547,8 +495,6 @@ CSS3 对盒模型做出了新的定义,即允许开发人员**指定盒子宽 ![](http://img.smyhvae.com/20180208_1140.png) -注意,渐变属于背景图片属性`background-image`的属性值。我们依次来看一下。 - ### 线性渐变 格式: @@ -849,7 +795,7 @@ CSS3 对盒模型做出了新的定义,即允许开发人员**指定盒子宽 上图中,给第二个div设置的透明度是从0到0.5。如果设置的透明度是从0到0,则样式无变化,和第一个div一样。如果设置的透明度是从1到1,则盒子是全黑的。 -CSS3的更多属性,且听下文继续。 +CSS3的更多属性,且看下文继续。 ## 我的公众号 diff --git a/03-CSS进阶/02-CSS中的非布局样式.md b/03-CSS进阶/02-CSS中的非布局样式.md index e6c14ee..e085519 100644 --- a/03-CSS进阶/02-CSS中的非布局样式.md +++ b/03-CSS进阶/02-CSS中的非布局样式.md @@ -8,13 +8,17 @@ CSS中,有很多**非布局样式**,这些样式(属性)和与布局无 - 滚动、换行 - 装饰性属性(粗体、斜体、下划线)等。 +这篇文章,我们来对上面的部分样式做一个回顾。 + ## 字体 ### 字体分类 -常见的字体可以可以分为两类:**衬线体、无衬线体**。 +常见的字体可以分为两类:**衬线体、无衬线体**。 -**1、serif(衬线体)**:在字的笔画开始、结束的地方有额外的装饰,而且笔画的粗细会有所不同。比如:宋体。 +![](http://img.smyhvae.com/20191004_1101.png) + +**1、serif(衬线体)**:在字的笔画开始、结束的地方有额外的装饰,而且笔画的粗细会有所不同。比如:宋体、楷体。 **2、sans-serif(无衬线体)**:笔划粗细基本一致,只剩下主干,造型简明有力,起源也很晚。适用于标题、广告等,识别性高。 @@ -25,14 +29,14 @@ CSS中,有很多**非布局样式**,这些样式(属性)和与布局无 - Arial:Windows平台默认的英文字体 - 苹方(PingFang SC):Mac & iOS 平台的中文字体 - San Francisco:Mac & iOS 平台的英文字体 -- [思源黑体](https://baike.baidu.com/item/%E6%80%9D%E6%BA%90%E9%BB%91%E4%BD%93/14919098)。是Adobe和Google 在2014年7月联合推出的一款开源字体。 +- [思源黑体](https://baike.baidu.com/item/%E6%80%9D%E6%BA%90%E9%BB%91%E4%BD%93/14919098)。是 Adobe 和 Google 在2014年7月联合推出的一款开源字体。 -20191004_1100.png 补充: -- 海报设计、PPT不要用宋体。 -- 乔布斯 +(1)海报设计、PPT不要用宋体。 + +(2)乔布斯 参考链接:[如何优雅的选择字体(font-family)](https://segmentfault.com/a/1190000006110417) @@ -41,14 +45,14 @@ CSS中,有很多**非布局样式**,这些样式(属性)和与布局无 css 中的字体族可以理解成是某一类字体。常见的字体族可以分为五类: - serif:衬线体。 -- sans-serif:无衬线体 +- sans-serif:无衬线体。 - monospace:等宽字体。每一个字母所占的宽度是相同的。写代码的字体尽量用等宽字体。 - cursive:手写字体。比如徐静蕾手写体。 - fantasy:梦幻字体。比如一些艺术字。 -这五类字体组不代表某一个具体的字体,而是当你在 css 中指定字体族的时候,就有可能从中找出一种字体来显示。 +这五类字体族不代表某一个具体的字体,而是当你在 css 中指定字体族的时候,就有可能在字体族中找出一种字体来显示。 -20191004_1130.png +![](http://img.smyhvae.com/20191004_1130.png) 参考链接:[serif,sans-serif,monospace,cursive和fantasy](http://www.ayqy.net/blog/serif%EF%BC%8Csans-serif%EF%BC%8Cmonospace%EF%BC%8Ccursive%E5%92%8Cfantasy/) @@ -75,7 +79,15 @@ css 中的字体族可以理解成是某一类字体。常见的字体族可以 - 网络字体 -- iconfont +- [iconfont](https://www.iconfont.cn/) + +## 边框 + +如何用边框画一个三角形?详见《02-CSS基础/06-CSS盒模型详解》中的最后一段。 + + + + diff --git a/10-ES6/09-ES6:字符串、数组、对象的扩展.md b/10-ES6/09-ES6:字符串、数组、对象的扩展.md index 195446b..0f0b817 100644 --- a/10-ES6/09-ES6:字符串、数组、对象的扩展.md +++ b/10-ES6/09-ES6:字符串、数组、对象的扩展.md @@ -85,7 +85,7 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下: ## 数组的扩展 -> 下面提到的数组的几个方法,更详细的内容,可以看《03-JavaScript基础/17-数组的其他方法.md》。 +> 下面提到的数组的几个方法,更详细的内容,可以看《04-JavaScript基础/17-数组的常见方法.md》。 ### 扩展1:Array.from() diff --git a/15-面试题积累/02-HTML和CSS相关.md b/15-面试题积累/02-HTML和CSS相关.md index ef6ac3f..7643b66 100644 --- a/15-面试题积累/02-HTML和CSS相关.md +++ b/15-面试题积累/02-HTML和CSS相关.md @@ -197,7 +197,7 @@ html代码: .child { display: table-cell; - vertical-align: middle; /*来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。*/ + vertical-align: middle; /*指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。*/ height: 200px; /*此处的宽高设置无效*/ width: 200px; border: 10px solid blue; diff --git a/17-前端综合/CSS开发总结.md b/17-前端综合/CSS开发总结.md new file mode 100644 index 0000000..c5c9722 --- /dev/null +++ b/17-前端综合/CSS开发总结.md @@ -0,0 +1,13 @@ + +### p标签里的文字溢出怎么办 + +加一个属性即可: + +```css + word-break: break-all; + +``` + +### inline-block 相关 + +图片默认是 inline-block 布局,会存在经典的底部 3px 的问题。 diff --git a/17-前端综合/css开发相关.md b/17-前端综合/css开发相关.md deleted file mode 100644 index 6a763d7..0000000 --- a/17-前端综合/css开发相关.md +++ /dev/null @@ -1,10 +0,0 @@ - -### p标签里的文字溢出怎么办 - -加一个属性即可: - -```css - word-break: break-all; - -``` -