CSS属性和选择器(初级篇)

2016-11-04  本文已影响96人  只敲代码不偷桃

引子

成文原因有二:其一,复习巩固知识、站在巨人的肩膀上,老罗讲话:“人生苦短,能一步走完的路,尽量别走三步”;其二,分享快乐,“毕竟共享技术的快乐不是什么时候都会有的”。

HTML只有一个作用就是用来添加语义,所以在企业开发中修改样式都是交给CSS来做。下面有请CSS闪亮登场✨✨✨

一、文字属性

1.规定文字样式的属性
2.规定文字粗细的属性
3.规定文字大小的属性
4.规定文字字体的属性

1.如果取值是中文, 需要用双引号或者单引号括起来
2.设置的字体必须是用户电脑里面已经安装的字体

5.文本装饰属性
6.文本水平对齐的属性
7.文本缩进的属性

二、标签选择器

id选择器
类选择器
后代选择器

注意点:
1.后代选择器必须用空格隔开
2.后代不仅仅是儿子, 也包括孙子/重孙子, 只要最终是放到指定标签中的都是后代
3.后代选择器不仅仅可以使用标签名称, 还可以使用其它选择器
4.后代选择器可以通过空格一直延续下去

子元素选择器

注意点:
1.子元素选择器只会查找儿子, 不会查找其他被嵌套的标签
2.子元素选择器之间需要用>符号连接, 并且不能有空格
3.子元素选择器不仅仅可以使用标签名称, 还可以使用其它选择器
4.子元素选择器可以通过>符号一直延续下去

通用兄弟选择器(CSS3)

注意点:
1.通用兄弟选择器必须用~连接
2.通用兄弟选择器选中的是指定选择器后面某个选择器选中的所有标签, 无论有没有被隔开都可以选中

序选择器(CSS3)
属性选择器
---------------------------------CSS--------------------------------
//标签选择器
p{  
  color: red;
}
//id选择器
#identity1{  
  color: red;
}
#identity2{  
  color: red;
}
//类选择器
.para{  
  color: red;
}
//后代选择器
div p{  
  color: red;
}
//子元素选择器
div>p{  
  color: red;
}
//交集选择器
p.para{  
  color: red;
}
//并集选择器
#identity1,#identity2{  
  color: red;
}
//通用兄弟选择器h1~p{  
  color: red;
}
//序选择器p:nth-of-type(n+1){  
  color: red;
}
//属性选择器
p[id]{  
  color: red;  
  font-size: 10px;  
  text-decoration: underline;
}
---------------------------------HTML--------------------------------
<body>
<div>  
  <h1>我是标题</h1>  
  <p id="identity1" class="para">我是段落1</p>  
  <p id="identity2" class="para">我是段落2</p>
</div>
</body>

三、CSS三大特性

继承性

注意点:
1.并不是所有的属性都可以继承, 只有以color/font-/text-/line-开头的属性才可以继承
2.在CSS的继承中不仅仅是儿子可以继承, 只要是后代都可以继承
3.a标签的文字颜色和下划线是不能继承的
4.h标签的文字大小是不能继承的

层叠性

优先级判断的三种方式
1.间接选中就是指继承如果是间接选中, 那么就是谁离目标标签比较近就听谁的
2.相同选择器(直接选中):如果都是直接选中, 并且都是同类型的选择器, 那么就是谁写在后面就听谁的
3.不同选择器(直接选中):如果都是直接选中, 并且不是相同类型的选择器, 那么就会按照选择器的优先级来层叠id>类>标签>通配符>继承>浏览器默认

优先级之important

注意点:
1.!important只能用于直接选中, 不能用于间接选中
2.通配符选择器选中的标签也是直接选中的
3.!important只能提升被指定的属性的优先级, 其它的属性的优先级不会被提升
4.!important必须写在属性值得分号前面5.!important前面的感叹号不能省略

优先级之权重

权重的计算规则
1.首先先计算选择器中有多少个id, id多的选择器优先级最高
2.如果id的个数一样, 那么再看类名的个数, 类名个数多的优先级最高
3.如果类名的个数一样, 那么再看标签名称的个数, 标签名称个数多的优先级最高
4.如果id个数一样, 类名个数也一样, 标签名称个数也一样, 那么就不会继续往下计算了, 那么此时谁写在后面听谁的也就是说优先级如果一样, 那么谁写在后面听谁的

div和span
背景平铺属性
背景定位属性
背景属性缩写
背景图片和插入图片的区别:

1.背景图片仅仅是一个装饰, 不会占用位置插入图片会占用位置
2.背景图片有定位属性, 所以可以很方便的控制图片的位置插入图片没有定位属性, 所有控制图片的位置不太方便
3.插入图片的语义比背景图片的语义要强, 所以在企业开发中如果你的图片想被搜索引擎收录, 那么推荐使用插入图片

边框

注意点:
1.连写格式中颜色属性可以省略, 省略之后默认就是黑色
2.连写格式中样式不能省略, 省略之后就看不到边框了
3.连写格式中宽度可以省略, 省略之后还是可以看到边框

padding(内边距)

注意点:
1.给标签设置内边距之后, 标签占有的宽度和高度会发生变化
2.给标签设置内边距之后, 内边距也会有背景颜色

margin(外边距)
盒子模型的宽和高
box-sizing属性

注意:
1.在企业开发中, 一般情况下如果需要控制嵌套关系盒子之间的距离, 应该首先考虑padding, 其次再考虑margin
2.在嵌套关系的盒子中, 我们可以利用margin: 0 auto;的方式来让里面的盒子在外面的盒子中水平居中
3.margin: 0 auto; 只对水平方向有效, 对垂直方向无效

text-align:center;和margin:0 auto;区别?
清空默认边距
行高和字号

规律:
1.在企业开发中我们经常将盒子的高度和行高设置为一样, 那么这样就可以保证一行文字在盒子的高度中是垂直居中的简而言之就是: 要想一行文字在盒子中垂直居中, 那么只需要设置这行文字的"行高等于盒子的高"即可
2.在企业开发中如果一个盒子中有多行文字, 那么我们就不能使用设置行高等于盒子高来实现让文字垂直居中, 只能通过设置padding来让文字居中

本文主要借鉴小码哥(很不错的培训机构)视频之跟着江哥狂虐H5,不做商业目的,如有侵权,立即删除,学习CSS的路还长呢,少年莫慌~~
参考资料:
[http://bbs.520it.com/portal.php]
http://www.jianshu.com/users/4312c933b9db/latest_articles

上一篇 下一篇

猜你喜欢

热点阅读