add: 用css border 画等边三角形
This commit is contained in:
parent
95024348b0
commit
ff17db62ee
@ -69,6 +69,13 @@ CSS中,所有的行,都有行高。盒子模型的padding,绝对不是直
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170808_2240.png)
|
![](http://img.smyhvae.com/20170808_2240.png)
|
||||||
|
|
||||||
|
### `vertical-align: middle;` 属性
|
||||||
|
|
||||||
|
```css
|
||||||
|
vertical-align: middle; /*指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。*/
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### font字体属性
|
### font字体属性
|
||||||
|
|
||||||
css样式中,字体属性有以下几种:
|
css样式中,字体属性有以下几种:
|
||||||
|
@ -4,10 +4,7 @@
|
|||||||
|
|
||||||
> 以下是正文。
|
> 以下是正文。
|
||||||
|
|
||||||
|
## background 的常见背景属性
|
||||||
## background系列属性
|
|
||||||
|
|
||||||
### 常见背景属性
|
|
||||||
|
|
||||||
CSS样式中,常见的背景属性有以下几种:(经常用到,要记住)
|
CSS样式中,常见的背景属性有以下几种:(经常用到,要记住)
|
||||||
|
|
||||||
@ -25,58 +22,74 @@ CSS样式中,常见的背景属性有以下几种:(经常用到,要记
|
|||||||
- `background-attachment:scroll;` 设置背景图片是否跟着滚动条一起移动。
|
- `background-attachment:scroll;` 设置背景图片是否跟着滚动条一起移动。
|
||||||
属性值可以是:`scroll`(与fixed属性相反,默认属性)、`fixed`(背景就会被固定住,不会被滚动条滚走)。
|
属性值可以是:`scroll`(与fixed属性相反,默认属性)、`fixed`(背景就会被固定住,不会被滚动条滚走)。
|
||||||
|
|
||||||
- 另外还有一个简写属性叫做`background`,它的作用是:将上面的多个属性写在一个声明中。
|
- 另外还有一个综合属性叫做`background`,它的作用是:将上面的多个属性写在一个声明中。
|
||||||
|
|
||||||
上面这几个属性经常用到,需要记住。现在我们逐个进行讲解。
|
上面这几个属性经常用到,需要记住。现在我们逐个进行讲解。
|
||||||
|
|
||||||
|
## background-color:背景颜色的表示方法
|
||||||
|
|
||||||
### background-color:背景颜色的表示方法
|
css2.1 中,背景颜色的表示方法有三种:单词、rgb表示法、十六进制表示法。
|
||||||
|
|
||||||
css2.1中,背景颜色的表示方法有三种:单词、rgb表示法、十六进制表示法。
|
|
||||||
|
|
||||||
比如红色可以有下面的三种表示方法:
|
比如红色可以有下面的三种表示方法:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background-color: red;
|
background-color: red;
|
||||||
background-color: rgb(255,0,0);
|
background-color: rgb(255,0,0);
|
||||||
background-color: #ff0000;
|
background-color: #ff0000;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
CSS3 中,有一种新的表示颜色的方式:RGBA或者HSLA。
|
||||||
|
|
||||||
|
RGBA、HSLA可应用于**所有**使用颜色的地方。
|
||||||
|
|
||||||
下面分别介绍。
|
下面分别介绍。
|
||||||
|
|
||||||
**1、用英语单词来表示:**
|
### 用英语单词表示
|
||||||
|
|
||||||
能够用英语单词来表述的颜色,都是简单颜色。比如红色:
|
能够用英语单词来表述的颜色,都是简单颜色。比如红色、绿色等。代码举例:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background-color: red;
|
background-color: red;
|
||||||
```
|
```
|
||||||
|
### RGB 表示法
|
||||||
|
|
||||||
**2、rgb表示法:**
|
RGB 表示三原色“红”red、“绿”green、“蓝”blue。
|
||||||
|
|
||||||
rgb表示三原色“红”red、“绿”green、“蓝”blue。
|
|
||||||
|
|
||||||
光学显示器中,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色的。r、g、b的值,每个值的取值范围0~255,一共256个值。
|
光学显示器中,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色的。r、g、b的值,每个值的取值范围0~255,一共256个值。
|
||||||
|
|
||||||
比如红色:
|
比如红色:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background-color: rgb(255,0,0);
|
background-color: rgb(255,0,0);
|
||||||
```
|
```
|
||||||
|
|
||||||
黑色:
|
黑色:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background-color: rgb(0,0,0);
|
background-color: rgb(0,0,0);
|
||||||
```
|
```
|
||||||
|
|
||||||
颜色可以叠加,比如黄色就是红色和绿色的叠加:
|
颜色可以叠加,比如黄色就是红色和绿色的叠加:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background-color: rgb(255,255,0);
|
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;
|
background-color: #ff0000;
|
||||||
```
|
```
|
||||||
|
|
||||||
PS:所有用#开头的值,都是16进制的。
|
PS:所有用`#`开头的值,都是16进制的。
|
||||||
|
|
||||||
这里,我们就要学会16进制与10进制之间的转换。下面举几个例子。
|
这里,我们就要学会16进制与10进制之间的转换。下面举几个例子。
|
||||||
|
|
||||||
@ -98,7 +111,6 @@ PS:所有用#开头的值,都是16进制的。
|
|||||||
|
|
||||||
`background-color: #123456;`等价于`background-color: rgb(18,52,86);`
|
`background-color: #123456;`等价于`background-color: rgb(18,52,86);`
|
||||||
|
|
||||||
|
|
||||||
**十六进制可以简化为3位,所有#aabbcc的形式,能够简化为#abc**。举例如下:
|
**十六进制可以简化为3位,所有#aabbcc的形式,能够简化为#abc**。举例如下:
|
||||||
|
|
||||||
比如:
|
比如:
|
||||||
@ -148,8 +160,37 @@ PS:所有用#开头的值,都是16进制的。
|
|||||||
#ccc 浅灰
|
#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;`设置背景图片是否重复及如何重复,默认平铺满。属性值可以是:
|
`background-repeat:no-repeat;`设置背景图片是否重复及如何重复,默认平铺满。属性值可以是:
|
||||||
|
|
||||||
@ -182,7 +223,7 @@ PS:padding的区域也是有背景图的。
|
|||||||
![](http://img.smyhvae.com/2015-10-03-css-22.png)
|
![](http://img.smyhvae.com/2015-10-03-css-22.png)
|
||||||
|
|
||||||
|
|
||||||
### `background-position`属性
|
## `background-position`属性
|
||||||
|
|
||||||
`background-position`属性指的是**背景定位**属性。公式如下:
|
`background-position`属性指的是**背景定位**属性。公式如下:
|
||||||
|
|
||||||
@ -267,7 +308,7 @@ PS:padding的区域也是有背景图的。
|
|||||||
|
|
||||||
上图可以看出,将banner图作为div的背景后,banner图会永远处于网页的正中间(水平方向来看)。
|
上图可以看出,将banner图作为div的背景后,banner图会永远处于网页的正中间(水平方向来看)。
|
||||||
|
|
||||||
### background-attachment属性
|
## background-attachment 属性
|
||||||
|
|
||||||
- `background-attachment:scroll;` 设置背景图片是否固定。属性值可以是:
|
- `background-attachment:scroll;` 设置背景图片是否固定。属性值可以是:
|
||||||
- `fixed`(背景就会被固定住,不会被滚动条滚走)。
|
- `fixed`(背景就会被固定住,不会被滚动条滚走)。
|
||||||
@ -283,13 +324,13 @@ background属性和border一样,是一个综合属性,可以将多个属性
|
|||||||
|
|
||||||
举例1:
|
举例1:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background:red url(1.jpg) no-repeat 100px 100px fixed;
|
background:red url(1.jpg) no-repeat 100px 100px fixed;
|
||||||
```
|
```
|
||||||
|
|
||||||
等价于:
|
等价于:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background-color:red;
|
background-color:red;
|
||||||
background-image:url(1.jpg);
|
background-image:url(1.jpg);
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
@ -303,7 +344,7 @@ background属性和border一样,是一个综合属性,可以将多个属性
|
|||||||
|
|
||||||
比如说,对于下面这样的属性:
|
比如说,对于下面这样的属性:
|
||||||
|
|
||||||
```
|
```css
|
||||||
background: blue url(images/wuyifan.jpg) no-repeat 100px 100px;
|
background: blue url(images/wuyifan.jpg) no-repeat 100px 100px;
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -311,11 +352,8 @@ background属性和border一样,是一个综合属性,可以将多个属性
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170813_1515.png)
|
![](http://img.smyhvae.com/20170813_1515.png)
|
||||||
|
|
||||||
|
|
||||||
PS:以后的CSS3内容中,我们会接触到更多的background属性: background-origin、background-clip、background-size(在CSS2.1背景图片是不能调整尺寸,IE9开始兼容)、多背景。
|
PS:以后的CSS3内容中,我们会接触到更多的background属性: background-origin、background-clip、background-size(在CSS2.1背景图片是不能调整尺寸,IE9开始兼容)、多背景。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 我的公众号
|
## 我的公众号
|
||||||
|
|
||||||
想学习<font color=#0000ff>**代码之外的技能**</font>?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。
|
想学习<font color=#0000ff>**代码之外的技能**</font>?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
但是,图片、表单元素一律看作是文本,它们并不是盒子。这个很好理解,比如说,一张图片里并不能放东西,它自己就是自己的内容。
|
但是,图片、表单元素一律看作是文本,它们并不是盒子。这个很好理解,比如说,一张图片里并不能放东西,它自己就是自己的内容。
|
||||||
|
|
||||||
|
|
||||||
### 盒子中的区域
|
### 盒子中的区域
|
||||||
|
|
||||||
一个盒子中主要的属性就5个:width、height、padding、border、margin。如下:
|
一个盒子中主要的属性就5个:width、height、padding、border、margin。如下:
|
||||||
@ -24,20 +23,14 @@
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170727_2128.png)
|
![](http://img.smyhvae.com/20170727_2128.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
代码演示:
|
代码演示:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170727_2326.png)
|
![](http://img.smyhvae.com/20170727_2326.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
上面这个盒子,width:200px; height:200px; 但是真实占有的宽高是302*302。 这是因为还要加上padding、border。
|
上面这个盒子,width:200px; height:200px; 但是真实占有的宽高是302*302。 这是因为还要加上padding、border。
|
||||||
|
|
||||||
注意:**宽度和真实占有宽度,不是一个概念!**来看下面这例子。
|
注意:**宽度和真实占有宽度,不是一个概念!**来看下面这例子。
|
||||||
|
|
||||||
|
|
||||||
### 标准盒模型和IE盒模型
|
### 标准盒模型和IE盒模型
|
||||||
|
|
||||||
> 我们目前所学习的知识中,以标准盒子模型为准。
|
> 我们目前所学习的知识中,以标准盒子模型为准。
|
||||||
@ -52,10 +45,8 @@ IE盒子模型:
|
|||||||
|
|
||||||
上图显示:
|
上图显示:
|
||||||
|
|
||||||
|
|
||||||
在 CSS 盒子模型 (Box Model) 规定了元素处理元素的几种方式:
|
在 CSS 盒子模型 (Box Model) 规定了元素处理元素的几种方式:
|
||||||
|
|
||||||
|
|
||||||
- width和height:**内容**的宽度、高度(不是盒子的宽度、高度)。
|
- width和height:**内容**的宽度、高度(不是盒子的宽度、高度)。
|
||||||
- padding:内边距。
|
- padding:内边距。
|
||||||
- border:边框。
|
- border:边框。
|
||||||
@ -63,14 +54,12 @@ IE盒子模型:
|
|||||||
|
|
||||||
CSS盒模型和IE盒模型的区别:
|
CSS盒模型和IE盒模型的区别:
|
||||||
|
|
||||||
- 在 <font color="#0000FF">**标准盒子模型**</font>中,<font color="#0000FF">**width 和 height 指的是内容区域**</font>的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
|
- 在 <font color="#0000FF">**标准盒子模型**</font>中,<font color="#0000FF">**width 和 height 指的是内容区域**</font>的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
|
||||||
|
|
||||||
- <font color="#0000FF">**IE盒子模型**</font>中,<font color="#0000FF">**width 和 height 指的是内容区域+border+padding**</font>的宽度和高度。
|
- <font color="#0000FF">**IE盒子模型**</font>中,<font color="#0000FF">**width 和 height 指的是内容区域+border+padding**</font>的宽度和高度。
|
||||||
|
|
||||||
|
|
||||||
注:Android中也有margin和padding的概念,意思是差不多的,如果你会一点Android,应该比较好理解吧。区别在于,Android中没有border这个东西,而且在Android中,margin并不是控件的一部分,我觉得这样做更合理一些,呵呵。
|
注:Android中也有margin和padding的概念,意思是差不多的,如果你会一点Android,应该比较好理解吧。区别在于,Android中没有border这个东西,而且在Android中,margin并不是控件的一部分,我觉得这样做更合理一些,呵呵。
|
||||||
<br>
|
|
||||||
|
|
||||||
|
|
||||||
### `<body>`标签也有margin
|
### `<body>`标签也有margin
|
||||||
|
|
||||||
@ -116,10 +105,7 @@ CSS盒模型和IE盒模型的区别:
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20151003_27.png)
|
![](http://img.smyhvae.com/20151003_27.png)
|
||||||
|
|
||||||
|
## 认识width、height
|
||||||
|
|
||||||
### 认识width、height
|
|
||||||
|
|
||||||
|
|
||||||
一定要知道,在前端开发工程师眼中,世界中的一切都是不同的。
|
一定要知道,在前端开发工程师眼中,世界中的一切都是不同的。
|
||||||
|
|
||||||
@ -127,8 +113,6 @@ CSS盒模型和IE盒模型的区别:
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170727_2329.png)
|
![](http://img.smyhvae.com/20170727_2329.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
下面这两个盒子,真实占有宽高,都是302*302:
|
下面这两个盒子,真实占有宽高,都是302*302:
|
||||||
|
|
||||||
盒子1:
|
盒子1:
|
||||||
@ -154,7 +138,6 @@ CSS盒模型和IE盒模型的区别:
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
真实占有宽度 = 左border + 左padding + width + 右padding + 右border
|
真实占有宽度 = 左border + 左padding + width + 右padding + 右border
|
||||||
|
|
||||||
上面这两个盒子的盒模型图如下:
|
上面这两个盒子的盒模型图如下:
|
||||||
@ -165,12 +148,9 @@ CSS盒模型和IE盒模型的区别:
|
|||||||
**如果想保持一个盒子的真实占有宽度不变,那么加width的时候就要减padding。加padding的时候就要减width**。因为盒子变胖了是灾难性的,这会把别的盒子挤下去。
|
**如果想保持一个盒子的真实占有宽度不变,那么加width的时候就要减padding。加padding的时候就要减width**。因为盒子变胖了是灾难性的,这会把别的盒子挤下去。
|
||||||
|
|
||||||
|
|
||||||
|
## 认识padding
|
||||||
|
|
||||||
### 认识padding
|
### padding区域也有颜色
|
||||||
|
|
||||||
|
|
||||||
#### padding区域也有颜色
|
|
||||||
|
|
||||||
|
|
||||||
padding就是内边距。padding的区域有背景颜色,css2.1前提下,并且背景颜色一定和内容区域的相同。也就是说,background-color将填充**所有border以内的区域。**
|
padding就是内边距。padding的区域有背景颜色,css2.1前提下,并且背景颜色一定和内容区域的相同。也就是说,background-color将填充**所有border以内的区域。**
|
||||||
|
|
||||||
@ -178,9 +158,7 @@ padding就是内边距。padding的区域有背景颜色,css2.1前提下,并
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1005.png)
|
![](http://img.smyhvae.com/20170728_1005.png)
|
||||||
|
|
||||||
|
### padding有四个方向
|
||||||
|
|
||||||
#### padding有四个方向
|
|
||||||
|
|
||||||
padding是4个方向的,所以我们能够分别描述4个方向的padding。
|
padding是4个方向的,所以我们能够分别描述4个方向的padding。
|
||||||
|
|
||||||
@ -188,7 +166,7 @@ padding是4个方向的,所以我们能够分别描述4个方向的padding。
|
|||||||
|
|
||||||
小属性的写法:
|
小属性的写法:
|
||||||
|
|
||||||
```
|
```css
|
||||||
padding-top: 30px;
|
padding-top: 30px;
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
padding-bottom: 40px;
|
padding-bottom: 40px;
|
||||||
@ -197,7 +175,7 @@ padding是4个方向的,所以我们能够分别描述4个方向的padding。
|
|||||||
|
|
||||||
综合属性的写法:(上、右、下、左)(顺时针方向,用空格隔开。margin的道理也是一样的)
|
综合属性的写法:(上、右、下、左)(顺时针方向,用空格隔开。margin的道理也是一样的)
|
||||||
|
|
||||||
```
|
```css
|
||||||
padding:30px 20px 40px 100px;
|
padding:30px 20px 40px 100px;
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -213,7 +191,6 @@ padding: 30px 40px;
|
|||||||
|
|
||||||
则顺序等价于:30px 40px 30px 40px;
|
则顺序等价于:30px 40px 30px 40px;
|
||||||
|
|
||||||
|
|
||||||
要懂得,**用小属性层叠大属性**。比如:
|
要懂得,**用小属性层叠大属性**。比如:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -225,7 +202,6 @@ padding-left: 30px;
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1039.png)
|
![](http://img.smyhvae.com/20170728_1039.png)
|
||||||
|
|
||||||
|
|
||||||
下面的写法:
|
下面的写法:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -235,10 +211,9 @@ padding: 20px;
|
|||||||
|
|
||||||
第一行的小属性无效,因为被第二行的大属性层叠掉了。
|
第一行的小属性无效,因为被第二行的大属性层叠掉了。
|
||||||
|
|
||||||
|
|
||||||
下面的题,会做了,说明你明白了。
|
下面的题,会做了,说明你明白了。
|
||||||
|
|
||||||
#### 一些题目
|
### 一些题目
|
||||||
|
|
||||||
**题目1**:说出下面盒子真实占有宽高,并画出盒模型图。
|
**题目1**:说出下面盒子真实占有宽高,并画出盒模型图。
|
||||||
|
|
||||||
@ -252,14 +227,10 @@ padding: 20px;
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
答案:
|
答案:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1048.png)
|
![](http://img.smyhvae.com/20170728_1048.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**题目2**:说出下面盒子真实占有宽高,并画出盒模型图。
|
**题目2**:说出下面盒子真实占有宽高,并画出盒模型图。
|
||||||
|
|
||||||
```css
|
```css
|
||||||
@ -280,18 +251,15 @@ padding: 20px;
|
|||||||
|
|
||||||
盒子模型如下:
|
盒子模型如下:
|
||||||
|
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1100.png)
|
![](http://img.smyhvae.com/20170728_1100.png)
|
||||||
|
|
||||||
|
|
||||||
**题目3**:现在给你一个盒子模型图,请写出代码,试着用最最简单的方法写。
|
**题目3**:现在给你一个盒子模型图,请写出代码,试着用最最简单的方法写。
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1401.png)
|
![](http://img.smyhvae.com/20170728_1401.png)
|
||||||
|
|
||||||
|
|
||||||
答案:
|
答案:
|
||||||
|
|
||||||
```
|
```css
|
||||||
width:123px;
|
width:123px;
|
||||||
height:123px;
|
height:123px;
|
||||||
padding:20px 40px;
|
padding:20px 40px;
|
||||||
@ -302,10 +270,9 @@ padding: 20px;
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1402.png)
|
![](http://img.smyhvae.com/20170728_1402.png)
|
||||||
|
|
||||||
|
|
||||||
答案:
|
答案:
|
||||||
|
|
||||||
```
|
```css
|
||||||
width:123px;
|
width:123px;
|
||||||
height:123px;
|
height:123px;
|
||||||
padding:20px;
|
padding:20px;
|
||||||
@ -314,29 +281,25 @@ padding: 20px;
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 一些元素,默认带有padding
|
||||||
|
|
||||||
#### 一些元素,默认带有padding
|
|
||||||
|
|
||||||
一些元素,默认带有`padding`,比如ul标签。如下:
|
一些元素,默认带有`padding`,比如ul标签。如下:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1413.png)
|
![](http://img.smyhvae.com/20170728_1413.png)
|
||||||
|
|
||||||
|
|
||||||
上图显示,不加任何样式的ul,也是有40px的padding-left。
|
上图显示,不加任何样式的ul,也是有40px的padding-left。
|
||||||
|
|
||||||
所以,我们做站的时候,为了便于控制,总是喜欢清除这个默认的padding。
|
所以,我们做站的时候,为了便于控制,总是喜欢清除这个默认的padding。
|
||||||
|
|
||||||
可以使用`*`进行清除:
|
可以使用`*`进行清除:
|
||||||
|
|
||||||
```
|
```css
|
||||||
*{
|
*{
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 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就是边框。边框有三个要素:像素(粗细)、线型、颜色。
|
||||||
|
|
||||||
颜色如果不写,默认是黑色。另外两个属性不写,要命了,显示不出来边框。
|
比如:
|
||||||
|
|
||||||
#### border-style
|
```css
|
||||||
|
|
||||||
|
.div1{
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
border: 2px solid red;
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
颜色如果不写,默认是黑色。另外两个属性如果不写,则无法显示边框。
|
||||||
|
|
||||||
|
### border-style
|
||||||
|
|
||||||
border的所有的线型如下:(我们可以通过查看`CSS参考手册`得到)
|
border的所有的线型如下:(我们可以通过查看`CSS参考手册`得到)
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1435.png)
|
![](http://img.smyhvae.com/20170728_1435.png)
|
||||||
|
|
||||||
|
|
||||||
比如`border:10px ridge red;`这个属性,在chrome和firefox、IE中有细微差别:(因为可以显示出效果,因此并不是兼容性问题,只是有细微差别而已)
|
比如`border:10px ridge red;`这个属性,在chrome和firefox、IE中有细微差别:(因为可以显示出效果,因此并不是兼容性问题,只是有细微差别而已)
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1619.png)
|
![](http://img.smyhvae.com/20170728_1619.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
如果公司里面的设计师是处女座的,追求极高的**页面还原度**,那么不能使用css来制作边框。就要用到图片,就要切图了。
|
如果公司里面的设计师是处女座的,追求极高的**页面还原度**,那么不能使用css来制作边框。就要用到图片,就要切图了。
|
||||||
|
|
||||||
所以,比较稳定的border-style就几个:solid、dashed、dotted。
|
所以,比较稳定的border-style就几个:solid、dashed、dotted。
|
||||||
|
|
||||||
|
### border拆分
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### border拆分
|
|
||||||
|
|
||||||
border是一个大综合属性。比如说:
|
border是一个大综合属性。比如说:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border:1px solid red;
|
border:1px solid red;
|
||||||
```
|
```
|
||||||
|
|
||||||
就是把4个边框,都设置为1px宽度、线型实线、red颜色。
|
就是把上下左右这四个方向的边框,都设置为 1px 宽度、线型实线、red颜色。
|
||||||
|
|
||||||
PS:小技巧:在sublime text中,为了快速输入`border:1px solid red;`这个属性,可以直接输入`bd`,然后选第二个后回车。
|
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)
|
![](http://img.smyhvae.com/20170728_1516.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(1)按三要素拆:
|
(1)按三要素拆:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border-width:10px; //边框宽度
|
border-width:10px; //边框宽度
|
||||||
border-style:solid; //线型
|
border-style:solid; //线型
|
||||||
border-color:red; //颜色。
|
border-color:red; //颜色。
|
||||||
```
|
```
|
||||||
|
|
||||||
等价于:
|
等价于:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -424,7 +387,7 @@ border:10px solid red;
|
|||||||
|
|
||||||
(2)按方向来拆:
|
(2)按方向来拆:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border-top:10px solid red;
|
border-top:10px solid red;
|
||||||
border-right:10px solid red;
|
border-right:10px solid red;
|
||||||
border-bottom:10px solid red;
|
border-bottom:10px solid red;
|
||||||
@ -433,15 +396,13 @@ border-left:10px solid red;
|
|||||||
|
|
||||||
等价于:
|
等价于:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border:10px solid red;
|
border:10px solid red;
|
||||||
```
|
```
|
||||||
|
|
||||||
(3)按三要素和方向来拆:(就是把每个方向的,每个要素拆开。3*4 = 12)
|
(3)按三要素和方向来拆:(就是把每个方向的,每个要素拆开。3*4 = 12)
|
||||||
|
|
||||||
|
```css
|
||||||
|
|
||||||
```
|
|
||||||
border-top-width:10px;
|
border-top-width:10px;
|
||||||
border-top-style:solid;
|
border-top-style:solid;
|
||||||
border-top-color:red;
|
border-top-color:red;
|
||||||
@ -456,57 +417,75 @@ border:10px solid red;
|
|||||||
border-left-color:red;
|
border-left-color:red;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
等价于:
|
等价于:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border:10px solid red;
|
border:10px solid red;
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
工作中到底用什么?很简答:什么简单用什么。但要懂得,用小属性层叠大属性。举例如下:
|
工作中到底用什么?很简答:什么简单用什么。但要懂得,用小属性层叠大属性。举例如下:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1606.png)
|
![](http://img.smyhvae.com/20170728_1606.png)
|
||||||
|
|
||||||
|
|
||||||
为了实现上方效果,写法如下:
|
为了实现上方效果,写法如下:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border:10px solid red;
|
border:10px solid red;
|
||||||
border-right-color:blue;
|
border-right-color:blue;
|
||||||
```
|
```
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1608.png)
|
![](http://img.smyhvae.com/20170728_1608.png)
|
||||||
|
|
||||||
|
|
||||||
为了实现上方效果,写法如下:
|
为了实现上方效果,写法如下:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border:10px solid red;
|
border:10px solid red;
|
||||||
border-style:solid dashed;
|
border-style:solid dashed;
|
||||||
```
|
```
|
||||||
|
|
||||||
border可以没有:
|
border可以没有:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border:none;
|
border:none;
|
||||||
```
|
```
|
||||||
|
|
||||||
可以某一条边没有:
|
可以某一条边没有:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border-left: none;
|
border-left: none;
|
||||||
```
|
```
|
||||||
|
|
||||||
也可以调整左边边框的宽度为0:
|
也可以调整左边边框的宽度为0:
|
||||||
|
|
||||||
```
|
```css
|
||||||
border-left-width: 0;
|
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)
|
![](http://img.smyhvae.com/20170728_1640.png)
|
||||||
|
|
||||||
|
|
||||||
(2)然后将border的底部取消:
|
(2)然后将border的底部取消:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1645.png)
|
![](http://img.smyhvae.com/20170728_1645.png)
|
||||||
|
|
||||||
|
(3)最后设置border的左边和右边为白色或者**透明**:
|
||||||
(3)最后设置border的左边和右边为白色:
|
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20170728_1649.png)
|
![](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)
|
![](http://img.smyhvae.com/2016040102.jpg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 前言
|
## 前言
|
||||||
|
|
||||||
> CSS已经学了一些基础内容了,我们来讲解一个小案例吧。以[博雅互动](http://www.boyaa.com/)的官网首页举例。
|
> CSS已经学了一些基础内容了,我们来讲解一个小案例吧。以[博雅互动](http://www.boyaa.com/)的官网首页举例。
|
||||||
@ -17,13 +16,10 @@
|
|||||||
|
|
||||||
我们量一下中间四个方形图的width,是1000px,所以,网页版心的宽度是1000px。
|
我们量一下中间四个方形图的width,是1000px,所以,网页版心的宽度是1000px。
|
||||||
|
|
||||||
|
|
||||||
### 网页的结构
|
### 网页的结构
|
||||||
|
|
||||||
从结构上来看,网页分为头部(导航栏)、banner区、内容区、底部。
|
从结构上来看,网页分为头部(导航栏)、banner区、内容区、底部。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 导航栏的制作
|
## 导航栏的制作
|
||||||
|
|
||||||
在此我们只讲基础知识的使用,不涉及浏览器的优化。
|
在此我们只讲基础知识的使用,不涉及浏览器的优化。
|
||||||
@ -35,8 +31,6 @@
|
|||||||
|
|
||||||
现在我们需要在`class=inner_c`里放三个东西:左侧的logo、中间的导航栏、右侧的“加入我们”。
|
现在我们需要在`class=inner_c`里放三个东西:左侧的logo、中间的导航栏、右侧的“加入我们”。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
接下来我们开始做右侧的「加入我们」,「加入我们」的背景是带圆角的矩形,这个圆角,实现的方式有两种:要么切图,要么用CSS3实现(IE 7、IE 8不兼容)。我们暂时使用切图来实现。
|
接下来我们开始做右侧的「加入我们」,「加入我们」的背景是带圆角的矩形,这个圆角,实现的方式有两种:要么切图,要么用CSS3实现(IE 7、IE 8不兼容)。我们暂时使用切图来实现。
|
||||||
|
|
||||||
我们最好把「加入我们」这个超链接`<a>`放到`div`里,然后设置div的margin和padding,而不是直接设置`<a>`的边距。
|
我们最好把「加入我们」这个超链接`<a>`放到`div`里,然后设置div的margin和padding,而不是直接设置`<a>`的边距。
|
||||||
@ -50,7 +44,6 @@
|
|||||||
|
|
||||||
最终,导航栏的代码如下:
|
最终,导航栏的代码如下:
|
||||||
|
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
@ -167,22 +160,18 @@
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20180114_1332.gif)
|
![](http://img.smyhvae.com/20180114_1332.gif)
|
||||||
|
|
||||||
|
|
||||||
## banenr图
|
## banenr图
|
||||||
|
|
||||||
> 因为涉及到 js 的内容,这里先不讲内容区域**轮播图**的效果。
|
> 因为涉及到 js 的内容,这里先不讲内容区域**轮播图**的效果。
|
||||||
|
|
||||||
我们首先在导航条和banner图之间加一道墙,即`class=cl`,然后采用隔墙法对其设置`clear: both;`的属性。
|
我们首先在导航条和banner图之间加一道墙,即`class=cl`,然后采用隔墙法对其设置`clear: both;`的属性。
|
||||||
|
|
||||||
|
|
||||||
然后设置banner的背景图片属性,添加banner图。
|
然后设置banner的背景图片属性,添加banner图。
|
||||||
|
|
||||||
|
|
||||||
## 内容区域的制作
|
## 内容区域的制作
|
||||||
|
|
||||||
导航栏+banner+内容区域的完整代码如下:
|
导航栏+banner+内容区域的完整代码如下:
|
||||||
|
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
@ -394,7 +383,6 @@
|
|||||||
|
|
||||||
代码解释:
|
代码解释:
|
||||||
|
|
||||||
|
|
||||||
(1)导航栏,左侧的logo:
|
(1)导航栏,左侧的logo:
|
||||||
|
|
||||||
**错误的写法:**
|
**错误的写法:**
|
||||||
@ -417,7 +405,6 @@
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
这样写虽然视觉效果上达到了,但是搜索引擎是搜不到图片的,不利于SEO。
|
这样写虽然视觉效果上达到了,但是搜索引擎是搜不到图片的,不利于SEO。
|
||||||
|
|
||||||
**正确的写法:**
|
**正确的写法:**
|
||||||
@ -432,7 +419,6 @@
|
|||||||
</h1>
|
</h1>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
然后将**logo设置为背景图**:
|
然后将**logo设置为背景图**:
|
||||||
|
|
||||||
```css
|
```css
|
||||||
@ -459,50 +445,28 @@
|
|||||||
|
|
||||||
(1)内容区域,“点击播放”右侧的小三角形:
|
(1)内容区域,“点击播放”右侧的小三角形:
|
||||||
|
|
||||||
|
|
||||||
我们在“点击播放”的右侧放了一个三角形。这个很有技巧。
|
我们在“点击播放”的右侧放了一个三角形。这个很有技巧。
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20180115_1356.png)
|
![](http://img.smyhvae.com/20180115_1356.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
代码截取如下:
|
代码截取如下:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```css
|
```css
|
||||||
.content .product ul li p.djbf a{
|
.content .product ul li p.djbf a{
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color:#38B774;
|
color:#38B774;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background:url(images/sanjiaoxing.png) no-repeat right center;
|
background:url(images/sanjiaoxing.png) no-repeat right center;
|
||||||
padding-right: 12px;
|
padding-right: 12px;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
上方代码中,我们在第6行给“点击播放”这个超链接加一个右padding(很关键),然后在第5行把小三角这个背景图放在右padding的位置,就能达到想要的视觉效果。
|
上方代码中,我们在第6行给“点击播放”这个超链接加一个右padding(很关键),然后在第5行把小三角这个背景图放在右padding的位置,就能达到想要的视觉效果。
|
||||||
|
|
||||||
|
(2)导航栏+banner+内容区域的效果如下:
|
||||||
|
|
||||||
(2)
|
|
||||||
|
|
||||||
|
|
||||||
导航栏+banner+内容区域的效果如下:
|
|
||||||
|
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20180114_1405.png)
|
![](http://img.smyhvae.com/20180114_1405.png)
|
||||||
|
|
||||||
|
工程文件如下:
|
||||||
|
|
||||||
|
- [2018-03-20-boya.rar](待审核通过)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
> 本文最初发表于[博客园](http://www.cnblogs.com/smyhvae/p/8430898.html),并在[GitHub](https://github.com/qianguyihao/Web)上持续更新**前端的系列文章**。欢迎在GitHub上关注我,一起入门和进阶前端。
|
> 本文最初发表于[博客园](http://www.cnblogs.com/smyhvae/p/8430898.html),并在[GitHub](https://github.com/qianguyihao/Web)上持续更新**前端的系列文章**。欢迎在GitHub上关注我,一起入门和进阶前端。
|
||||||
|
|
||||||
> 以下是正文。
|
> 以下是正文。
|
||||||
@ -11,8 +9,6 @@
|
|||||||
|
|
||||||
本文主要内容:
|
本文主要内容:
|
||||||
|
|
||||||
- 颜色
|
|
||||||
|
|
||||||
- 文本
|
- 文本
|
||||||
|
|
||||||
- 盒模型中的 box-sizing 属性
|
- 盒模型中的 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当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。
|
渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。
|
||||||
|
|
||||||
@ -547,8 +495,6 @@ CSS3 对盒模型做出了新的定义,即允许开发人员**指定盒子宽
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20180208_1140.png)
|
![](http://img.smyhvae.com/20180208_1140.png)
|
||||||
|
|
||||||
注意,渐变属于背景图片属性`background-image`的属性值。我们依次来看一下。
|
|
||||||
|
|
||||||
### 线性渐变
|
### 线性渐变
|
||||||
|
|
||||||
格式:
|
格式:
|
||||||
@ -849,7 +795,7 @@ CSS3 对盒模型做出了新的定义,即允许开发人员**指定盒子宽
|
|||||||
|
|
||||||
上图中,给第二个div设置的透明度是从0到0.5。如果设置的透明度是从0到0,则样式无变化,和第一个div一样。如果设置的透明度是从1到1,则盒子是全黑的。
|
上图中,给第二个div设置的透明度是从0到0.5。如果设置的透明度是从0到0,则样式无变化,和第一个div一样。如果设置的透明度是从1到1,则盒子是全黑的。
|
||||||
|
|
||||||
CSS3的更多属性,且听下文继续。
|
CSS3的更多属性,且看下文继续。
|
||||||
|
|
||||||
## 我的公众号
|
## 我的公众号
|
||||||
|
|
||||||
|
@ -8,13 +8,17 @@ CSS中,有很多**非布局样式**,这些样式(属性)和与布局无
|
|||||||
- 滚动、换行
|
- 滚动、换行
|
||||||
- 装饰性属性(粗体、斜体、下划线)等。
|
- 装饰性属性(粗体、斜体、下划线)等。
|
||||||
|
|
||||||
|
这篇文章,我们来对上面的部分样式做一个回顾。
|
||||||
|
|
||||||
## 字体
|
## 字体
|
||||||
|
|
||||||
### 字体分类
|
### 字体分类
|
||||||
|
|
||||||
常见的字体可以可以分为两类:**衬线体、无衬线体**。
|
常见的字体可以分为两类:**衬线体、无衬线体**。
|
||||||
|
|
||||||
**1、serif(衬线体)**:在字的笔画开始、结束的地方有额外的装饰,而且笔画的粗细会有所不同。比如:宋体。
|
![](http://img.smyhvae.com/20191004_1101.png)
|
||||||
|
|
||||||
|
**1、serif(衬线体)**:在字的笔画开始、结束的地方有额外的装饰,而且笔画的粗细会有所不同。比如:宋体、楷体。
|
||||||
|
|
||||||
**2、sans-serif(无衬线体)**:笔划粗细基本一致,只剩下主干,造型简明有力,起源也很晚。适用于标题、广告等,识别性高。
|
**2、sans-serif(无衬线体)**:笔划粗细基本一致,只剩下主干,造型简明有力,起源也很晚。适用于标题、广告等,识别性高。
|
||||||
|
|
||||||
@ -25,14 +29,14 @@ CSS中,有很多**非布局样式**,这些样式(属性)和与布局无
|
|||||||
- Arial:Windows平台默认的英文字体
|
- Arial:Windows平台默认的英文字体
|
||||||
- 苹方(PingFang SC):Mac & iOS 平台的中文字体
|
- 苹方(PingFang SC):Mac & iOS 平台的中文字体
|
||||||
- San Francisco: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)
|
参考链接:[如何优雅的选择字体(font-family)](https://segmentfault.com/a/1190000006110417)
|
||||||
|
|
||||||
@ -41,14 +45,14 @@ CSS中,有很多**非布局样式**,这些样式(属性)和与布局无
|
|||||||
css 中的字体族可以理解成是某一类字体。常见的字体族可以分为五类:
|
css 中的字体族可以理解成是某一类字体。常见的字体族可以分为五类:
|
||||||
|
|
||||||
- serif:衬线体。
|
- serif:衬线体。
|
||||||
- sans-serif:无衬线体
|
- sans-serif:无衬线体。
|
||||||
- monospace:等宽字体。每一个字母所占的宽度是相同的。写代码的字体尽量用等宽字体。
|
- monospace:等宽字体。每一个字母所占的宽度是相同的。写代码的字体尽量用等宽字体。
|
||||||
- cursive:手写字体。比如徐静蕾手写体。
|
- cursive:手写字体。比如徐静蕾手写体。
|
||||||
- fantasy:梦幻字体。比如一些艺术字。
|
- 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/)
|
参考链接:[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盒模型详解》中的最后一段。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
|
|||||||
|
|
||||||
## 数组的扩展
|
## 数组的扩展
|
||||||
|
|
||||||
> 下面提到的数组的几个方法,更详细的内容,可以看《03-JavaScript基础/17-数组的其他方法.md》。
|
> 下面提到的数组的几个方法,更详细的内容,可以看《04-JavaScript基础/17-数组的常见方法.md》。
|
||||||
|
|
||||||
### 扩展1:Array.from()
|
### 扩展1:Array.from()
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ html代码:
|
|||||||
|
|
||||||
.child {
|
.child {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: middle; /*来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。*/
|
vertical-align: middle; /*指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。*/
|
||||||
height: 200px; /*此处的宽高设置无效*/
|
height: 200px; /*此处的宽高设置无效*/
|
||||||
width: 200px;
|
width: 200px;
|
||||||
border: 10px solid blue;
|
border: 10px solid blue;
|
||||||
|
13
17-前端综合/CSS开发总结.md
Normal file
13
17-前端综合/CSS开发总结.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
### p标签里的文字溢出怎么办
|
||||||
|
|
||||||
|
加一个属性即可:
|
||||||
|
|
||||||
|
```css
|
||||||
|
word-break: break-all;
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### inline-block 相关
|
||||||
|
|
||||||
|
图片默认是 inline-block 布局,会存在经典的底部 3px 的问题。
|
@ -1,10 +0,0 @@
|
|||||||
|
|
||||||
### p标签里的文字溢出怎么办
|
|
||||||
|
|
||||||
加一个属性即可:
|
|
||||||
|
|
||||||
```css
|
|
||||||
word-break: break-all;
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user