标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。其作用是可以把某一类标签全部选择出来,快速为网页中同类型的标签统一样式。然而,它的缺点是不能设计差异化样式。
以下是各种选择器的使用方法:
1. 类选择器使用“.”(英文点号)进行标识,后面紧跟类名。语法为:`类名 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}`。优点:可以根据需求选择一个或多个标签。注意:使用较多。用法示例:`.nav { color: red; }`。
2. id选择器使用`#`(井号)进行标识,后面紧跟id名。语法为:`#id名 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}`。优点:一次只能选择一个标签,且具有唯一性。缺点:只能使用一次,不推荐使用。用法示例:`#nav {color: red;}`。
3. 通配符选择器使用`*`(星号)进行标识,可以匹配所有标签。缺点:选择的太多,有部分不需要,不推荐使用。用法示例:`* {color: red;}`。
团队约定-选择器:
推荐:
```css
.jdc {}
li {}
p{}
```
不推荐:
```css
*{}
#jdc {}
div{} /* div 没有语义,尽量少用 */
```
CSS复合选择器由两个或多个基础选择器通过不同的方式组合而成。常见的复合选择器有后代选择器、子类选择器和相邻兄弟选择器等。后代选择器又称为包含选择器,用来选择元素或元素组的子孙后代。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,先写父亲爷爷,再写儿子孙子。子孙后代都可以这么选择。或者说,它能选择任何包含在其中的标签。
父级 子级{属性:属性值;属性:属性值;}
.class h3 {color:red;font-size:16px;}
当标签发生嵌套时,内层标签就成为外层标签的后代。子孙后代都可以这么选择。或者说,它能选择任何包含在内的标签。
2. 子元素选择器
>
.class>h3 {color:red;font-size:14px;}
「3. 交集选择器」
不能有空格
交集选择器是并且的意思,即...又...的意思
比如: p.one 选择的是: 类名为 .one 的段落标签。
/
用的相对来说比较少,不建议使用。
/
「4. 并集选择器」
逗号隔开的,所有选择器都会执行后面样式,逗号可以理解为和的意思。通常用于集体声明。
比如:
.one,
p ,
#test {color: #F00;}
表示 .one、p 和 #test 这三个选择器都会执行颜色为红色。
5. 链接伪类选择器用于向某些选择器添加特殊的效果。写的时候,他们的顺序尽量不要颠倒,按照lvha的顺序。否则可能引起错误。链接伪类是利用交集选择器实现的。
实际工作中,很少写全四个状态,一般写法如下:
a { /* a是标签选择器 所有的链接 */
font-weight: 700;
font-size: 16px;
color: gray;
text-decoration: none; /* 清除链接默认的下划线*/
}
a:hover { /* :hover 是链接伪类选择器 鼠标经过 */
color: red; /* 鼠标经过的时候,由原来的灰色变成了红色 */
}
相对长度单位和绝对长度单位是CSS中用于设置字体大小和行高的基本单位。以下是这些单位的详细介绍:
1. 相对长度单位:
相对长度单位是以父元素为基础来计算的,例如em、rem、%等。它们的优点是可以根据父元素的大小进行自适应调整,使得页面布局更加稳定。
2. 绝对长度单位:
绝对长度单位是以像素(px)为单位的固定数值,例如10px、20px等。绝对长度单位的优点是可以直接指定字体大小,但缺点是不具备自适应调整功能,可能导致页面在不同设备上的显示效果不一致。
3. font-family属性:
font-family属性用于设置网页中的字体。可以使用具体的字体名称,也可以使用Unicode编码。例如:
```css
p { font-family: "微软雅黑"; }
p { font-family: Arial, "Microsoft Yahei", "微软雅黑"; }
```
4. font-weight属性:
font-weight属性用于设置字体的粗细程度。常用的值有normal(正常)、bold(粗体)和lighter(更细)等。例如:
```css
p { font-weight: normal; }
p { font-weight: bold; }
p { font-weight: lighter; }
```
5. font-style属性:
font-style属性用于设置字体的样式,如斜体、正常或粗体。常用的值有normal(正常)、italic(斜体)和oblique(倾斜)。例如:
```css
p { font-style: normal; }
p { font-style: italic; }
p { font-style: oblique; }
```
6. font综合设置:
可以使用font属性同时设置字体样式、粗细和大小。例如:
```css
p { font: normal bold 14px/1.5 sans-serif; }
```
CSS外观属性包括以下几点:
1. 字体连写:字体连写是有顺序的,不能随意换位置。其中字号和字体必须同时出现。
2. color属性:color属性用于定义文本的颜色。其取值方式有以下3种:实际工作中,用16进制的写法是最多的,且我们更喜欢简写方式比如#f0代表红色。
| 表示表示 | 属性值 |
| :-- | :-- |
| 预定义的颜色值 | red,green,blue,pink |
| 十六进制 | #FF0000,#FF6600,#29D794 |
| RGB代码 | rgb(255,0,0)或rgb(100%,0%,0%) |
3. text-align属性:text-align属性用于设置文本内容的水平对齐方式,相当于html中的align对齐属性。注意:是让盒子里面的文本内容水平居中,而不是让盒子居中对齐。其可用属性值如下:
| 属性 | 解释 |
| :-- | :-: |
| left | 左对齐(默认值) |
| right | 右对齐 |
| center | 居中对齐 |
4. line-height属性:line-height属性用于设置行间距,就是行与行之间的距离,即字符的垂直间距,一般称为行高。line-height常用的属性值单位有三种,分别为像素px,相对值em和百分比%,实际工作中使用最多的是像素px。一般情况下,行距比字号大7–8像素左右就可以了。line-height要设置在font属性下面,否则无效。例如:
```css
height: 80px;
text-align: center;
font: normal bold 30px “宋体”;
line-height: 80px;
```
可以使用display:flex布局方式让文字水平垂直居中:
```css
display: flex;
align-items: center; /* 侧轴对齐方式*/
```
以下是重构后的内容:
1. text-indent属性用于设置首行文本的缩进。其属性值可为不同单位的数值、em字符宽度的倍数、或相对于浏览器窗口宽度的百分比%,允许使用负值。建议使用em作为设置单位。例如,1em就是一个字的宽度,如果是汉字的段落,1em就是一个汉字的宽度。示例代码如下:
```css
p {
line-height: 25px; /* 行间距 */
text-indent: 2em; /* 首行缩进2个字 em 1个em 就是1个字的大小 */
}
```
2. text-decoration属性用于设置文本的装饰。通常我们用于给链接修改装饰效果。例如,none表示取消下划线(最常用),underline表示定义文本下的一条线(下划线也是链接自带的,常用),overline表示定义文本上的一条线(不用),line-through表示定义穿过文本下的一条线(不常用)。示例代码如下:
```css
a {
text-decoration: none; /* 取消下划线 */
text-decoration: underline; /* 下划线 */
}
```
3. CSS外观属性总结:
| 属性 | 表示 | 注意点 |
| --- | --- | --- |
| color | 颜色 | 我们通常用十六进制,比如 #fff(简写形式) |
| line-height | 行高 | 控制行与行之间的距离 |
| text-align | 水平对齐 | 可以设定文字水平的对齐方式 |
| text-indent | 首行缩进 | 通常我们用于段落首行缩进2个字的距离,text-indent: 2em; |
| text-decoration | 文本修饰 | 记住添加下划线:underline,取消下划线:none |
4. 标签显示模式(display)有以下几种:
- display:inline;(块转行内)
- display:block;(行内转块)
- display:inline-block;(块、行内元素转换为行内块)
5. 块级元素(block-level)的特点包括:独占一行、高度、宽度、外边距以及内边距都可以控制、宽度默认是容器(父级宽度)的100%。它是一个容器及盒子,里面可以放行内或者块级元素。
在HTML中,只有文字才能组成段落,因此p标签里面不能放块级元素,特别是p不能放div。同理,还有h1~h6、dt等,它们都是文字类块级标签,里面不能放其他块级元素。
行内元素(inline-level)的特点如下:
1. 相邻行内元素在一行上,一行可以显示多个。
2. 行内元素只能容纳文本或其他行内元素。
注意:链接里面不能再放链接。
行内块元素(inline-block)的特点如下:
1. 和相邻行内元素(行内块)在一行上,但是之间会有空白风险。
2. 一行可以显示多个。
3. 默认宽度就是它本身内容的宽度。
4. 高度、行高、外边距以及内边距都可以控制。
CSS背景(background)的相关知识包括:
1. 背景颜色:使用background-color属性设置颜色值,默认值为transparent透明色。
2. 背景图片:使用background-image属性设置背景图片,语法为url(),例如:`background-image: url(images/1.png);`。
3. 背景平铺:使用background-repeat属性设置背景图像是否平铺,有四个选项:`repeat`(默认值,背景图像在纵向和横向上平铺)、`no-repeat`(背景图像不平铺)、`repeat-x`(背景图像在横向上平铺)和`repeat-y`(背景图像在纵向平铺)。
4. 背景位置:使用background-position属性设置背景图像的位置,可以设置长度值或百分比值,例如:`background-position: center;`或`background-position: 50% 50%;`。
以下是根据您提供的信息重构的内容,并保持段落结构:
```markdown
## 背景位置(background-position)
### 参数
| 参数名 | 类型 | 值 | 描述 |
| -------------- | ------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| length | length | 由浮点数字和单位标识符组成的长度值 | |
| position | position | top | center | bottom | left | center | right | 方位名词 |
| x-coordinate | number | | |
| y-coordinate | number | | |
### 注意
1. 必须先指定 background-image 属性。
2. position 后面是 x 坐标和 y 坐标。可以使用方位名词或者精确单位。
3. 如果指定两个值,两个值都是方位名字,则两个值前后顺序无关,比如 left top 和 top left 效果一致。
4. 如果只指定一个方位名词,另一个值默认居中对齐。
5. 如果 position 后面是精确坐标,那么第一个,肯定是 x,第二个一定是 y。
6. 如果只指定一个数值,那该数值一定是 x 坐标,另一个默认垂直居中。
7. 如果指定的两个值是精确单位和方位名字混合使用,则第一个值是 x 坐标,第二个值是 y 坐标。
### 背景简写
**background:**属性的值的书写顺序官方没有强制的标准。为了可读性,建议如下写:
```css
background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
```
/* 有背景图片背景颜色可以不用写*/
```css
background: transparent url(image.jpg) repeat-y scroll center top;
```
### 背景半透明(CSS3)
```css
background: rgba(0, 0, 0, 0.3);
background: rgba(0, 0, 0, .3);
```
等同于 `background-color: rgba(0, 0, 0, .3)`,最后一个参数是alpha透明度取值范围0~1之间。我们习惯把0.3的0省略掉,这样写:`background: rgba(0, 0, 0, .3);`注意:背景半透明是指盒子背景半透明,盒子里面的内容不受影响。低于IE9的版本不支持。
### 盒子半透明(opacity)
设置 `opacity` 元素的所有后代元素会随着一起具有透明性,一般用于调整图片或者模块的整体不透明度。例如:
```css
opacity: .2;
```
CSS三大特性包括层叠性、继承性和优先级(CSS特殊性)。
1. 层叠性:概念是指当有多个样式规则应用于同一个元素时,浏览器会根据一定的规则选择最终应用的样式。叠加原则是就近原则,即最近的样式规则具有最高的优先级。
2. 继承性:概念是指子元素可以继承父元素的样式。例如,文本颜色和字号等属性可以从父元素继承到子元素。注意,只有以"text-", "font-", "line-"开头的属性以及color属性可以继承。
3. 优先级(CSS特殊性):概念是指在选择器相同的情况下,浏览器会根据一定的权重计算公式来确定最终应用的样式。权重计算公式如下:
```
| 标签选择器 | 计算权重公式 |
| :-- | :-- |
| 继承或者 * | 0,0,0,0 |
| 每个元素(标签选择器) | 0,0,0,1 |
| 每个类,伪类 | 0,0,1,0 |
| 每个ID | 0,1,0,0 |
| 每个行内样式 style=“” | 1,0,0,0 |
| 每个!important 最重要的 | ∞ 无穷大 |
```
值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)。例如:
```css
div { color: pink !important; }
```
在这个例子中,div元素的样式被设置为红色(pink),并且使用了!important关键字。由于这是一个独立的样式规则,所以它具有最高的优先级。如果有其他类似的样式规则存在,它们将按照层叠性的规则被应用。
重构后的内容如下:
1. 盒子模型(Box Model)
盒子模型是将HTML页面中的布局元素看作一个矩形的盒子,也就是一个盛装内容的容器。盒子模型由元素的内容、边框(border)、内边距(padding)、和外边距(margin)组成。
- 内容区域:盒子里面的文字和图片等元素是内容区域。
- 边框:盒子的厚度我们称为为盒子的边框。
- 内边距:盒子内容与边框的距离是内边距。
- 外边距:盒子与盒子之间的距离是外边距。
W3C标准盒子模型的范围包括 margin、border、padding、content。当设置为box-sizing: content-box;时,将采用标准模式解析计算,也是默认模式。
2. 内盒尺寸计算(元素实际大小)
宽度:Element Height = content height + padding + border (Height为内容高度)。
高度:Element Width = content width + padding + border (Width为内容宽度)。
3. 盒子的实际大小:内容的宽度和高度 + 内边距 + 边框。
4. IE盒子模型
IE 盒子模型的 content 部分包含了 border 和 pading。当设置为box-sizing: border-box时,将采用怪异模式解析计算。
5. 盒子边框(border)
| 属性 | 作用 |
| --- | --- |
| border-width | 定义边框粗细,单位是px |
| border-style | 边框的样式 |
| border-color | 边框颜色 |
边框的样式有以下几种:
- none:没有边框即忽略所有边框的宽度(默认值)
- solid:边框为单实线(最为常用的)
- dashed:边框为虚线
在CSS中,我们可以通过设置边框来美化网页元素。有时候,我们可能只需要修改某个特定边框的样式,而不是整个边框。这时,我们可以分别设置每个边框的样式、宽度和颜色。以下是边框的综合设置方法:
```css
border: 1px solid red;
```
在这个例子中,我们只指定了上边框的样式为实线('solid'),宽度为1像素('1px'),颜色为红色('red')。其他边框的样式将使用默认值。
如果需要单独设置4个边框,可以按照以下方式进行:
| 属性 | 作用 |
| :-- | :-- |
| border-top-style:样式; | 上边框样式 |
| border-bottom-style:样式; | 下边框样式 |
| border-left-style:样式; | 左边框样式 |
| border-right-style:样式; | 右边框样式 |
| border-top-width:宽度; | 上边框宽度 |
| border- bottom-width:宽度; | 下边框宽度 |
| border-left-width:宽度; | 左边框宽度 |
| border-right-width:宽度; | 右边框宽度 |
| border-top-color:颜色; | 上边框颜色 |
| border- bottom-color:颜色; | 下边框颜色 |
| border-left-color:颜色; | 左边框颜色 |
| border-right-color:颜色; | 右边框颜色 |
| border-top:宽度 样式 颜色; | 上边框 |
| border-bottom:宽度 样式 颜色; | 下边框 |
| border-left:宽度 样式 颜色; | 左边框 |
| border-right:宽度 样式 颜色; | 右边框 |
例如,要设置一个表格的细线边框,可以使用以下CSS代码:
```css
cellspacing="0" colspan="3" collapse
```
```css
border-collapse: collapse;
```
除了设置边框外,还可以设置内边距(padding),用于调整边框与内容之间的距离。内边距属性包括四个方向的内边距设置:左、右、上、下。以下是内边距的简写形式:
```css
padding: 上下左右内边距;
```
或者使用两个数值表示上下内边距,再用两个数值表示左右内边距的形式:
```css
padding: 上下内边距 左右内边距;
```
当我们给盒子指定padding值之后,会发生两件事情:内容和边框有了距离,添加了内边距。同时,盒子会变大。为了解决这个问题,我们需要通过给设置了宽高的盒子,减去相应的内边距的值,维持盒子原有的大小。
当没有给一个盒子指定宽度时,如果给这个盒子指定padding,则不会撑开盒子。此时,我们可以使用外边距(margin)来调整盒子之间的距离。外边距包括左外边距、右外边距、上外边距和下外边距。与padding类似,margin值的简写(复合写法)代表的意思跟padding完全相同。
要使块级盒子水平居中,我们需要确保盒子必须指定宽度(width),然后将左右的外边距都设置为auto。实际工作中常用这种方式进行网页布局。示例代码如下:
```css
.header { width: 960px; margin: 0 auto;}
```
常见的写法有以下三种:
1. `margin-left: auto; margin-right: auto;`
2. `margin: auto;`
3. `margin: 0 auto;`
文字居中和盒子居中有区别。盒子内的文字水平居中需要使用`text-align: center;`,并且还可以让行内元素和行内块居中对齐。而块级盒子水平居中需要将左右的margin改为auto。
插入图片和背景图片也有区别。插入图片时,背景图片是指将图片作为元素的背景色。清除元素的默认内外边距时,行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。示例代码如下:
```css
{
padding:0; /* 清除内边距 */
margin:0; /* 清除外边距 */
}
```
在使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。相邻块元素垂直外边距的合并是指当上下相邻的两个块元素相遇时,如果上面的元素有下外边距`margin-bottom`,下面的元素有上外边距`margin-top`,则他们之间的垂直间距不是`margin-bottom`与`margin-top`之和,而是取两个值中的较大者。
以下是重构后的内容,保持了原有的段落结构:
1. 相邻块元素垂直外边距的合并(也称外边距塌陷)
这种现象被称为相邻块元素垂直外边距的合并(也称外边距塌陷)。
解决方案:尽量给只给一个盒子添加margin值。
2. 嵌套块元素垂直外边距的合并(塌陷)
对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者。
解决方案:可以为父元素定义上边框、上内边距或添加overflow: hidden。其他方法,如浮动、固定、绝对定位的盒子不会有问题。
3. 盒子模型布局稳定性
优先使用宽度(width),其次使用内边距(padding),再次使用外边距(margin)。
原因:width没有问题,我们经常使用宽度剩余法、高度剩余法来做。而margin会有外边距合并,以及ie6下面margin加倍的bug(讨厌),所以最后使用。padding会影响盒子大小,需要进行加减计算(麻烦),所以次之使用。
4. CSS3新增内容
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频。如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)。
以下是您提供的内容的重构版本:
1. CSS布局中遇到的问题及解决方案:
- 父元素的上外边距与子元素的上外边距发生合并(塌陷)
解决方案:为父元素定义上边框、上内边距或添加overflow: hidden属性。浮动、固定、绝对定位的盒子不会有问题。
2. 盒子模型布局稳定性:宽度 > 内边距 > 外边距
原因:margin会有外边距合并,还有ie6下面margin加倍的bug(讨厌),所以最后使用。padding会影响盒子大小,需要进行加减计算(麻烦)。width没有问题,我们经常使用宽度剩余法、高度剩余法来做。
3. CSS3新增内容
小编曾在上海交大毕业,并在小公司、华为、OPPO等大厂工作过。他深知大多数初中级前端工程师想要提升技能往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件较大,以下只是但图但图但但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但图但劳动合同劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同比如劳动合同8在中国8在中国8在中国8在中国在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国【box【box【box【box【box【【box【box【【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【可以让【你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的信息你的你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的答你的你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们你的我们我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知我们已知88在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国在中国8在中国8在中国8在中国88在中国8在中国在中国8在中国8在中国8在中国8在中国8在中国在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国8在中国888前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前88前8前8前8前88前8前8前8前8前8前8前8前8前8前88前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8前8话题这种情况话题话题好的话题好的话题好的话题好的好的我们好的我们好的我们好的我们好的我们好的我们好的我们好的好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法好的无法可以让不同可以让可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同可以让不同1其中1其中1其中其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中其中1其中1其中1其中1其中1其中1其中11其中1其中1其中1其中1其中1其中11其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中1其中