入门 |CSS选择器与常用样式

CSS引入类型

行内样式

结构的内部,即写在标签内的样式;写在标签的开始部分内部,style属性当中。

<input style="color:#ccc">

内联样式

在HTML页面内部,存放于head标记当中,样式写在style标记内。

<style>选择器 {属性名:属性值;属性名:属性值;......}</style>

外部样式表

外联式是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过标记将外部样式表文件链接到HTML文档中

<link type="text/css" rel="stylesheet" href="css/main.css" />
  • href:定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径。
  • type:定义所链接文档的类型,在这里需要指定为“text/css”,表示链接的外部文件为CS样式表。
  • rel:定义当前文档与被链接文档之间的关系,在这里需要指定为“stylesheet”,表示被链接的文档是一个样式表文件。

CSS选择器

基本选择器

类选择器

选择器 示例 说明 css
.class .intro{} 选择所有class="intro"的元素 1

ID选择器

选择器 示例 说明 css
#id #idname{} 选择所有id="idname"的元素 1

通配符选择器

选择器 示例 说明 css
* *{} 选择所有元素 2

标签选择器

选择器 示例 说明 css
element p{} 选择所有

元素

1

复合选择器

后代、子代、兄弟选择器

选择器 示例 说明 css
后代选择器 div p{} 选择
元素内的所有

元素

1
子元素选择器 div>p{} 选择所有父级是
元素的

元素

2
相邻兄弟选择器 div+p{} 选择所有紧接着
元素之后的

元素

2

交集、并集选择器

选择器 示例 说明 css
element.classname div.red{} 选择
标签并且类名为red的
元素
1
element#idname div#blue{} 选择
标签并且id名为blue的
元素
1
element,element div,p{} 选择所有
元素和

元素

1

其他选择器

选择器 示例 说明 css
element1-element2 p~ul 选择p元素之后的每一个ul元素 3
element> element:first-child p > i:first-child{} 匹配所有

元素中的第一个 元素

3

伪类选择器

链接伪类选择器

选择器 示例 说明 css
:link a:link{} 选择所有未访问的链接 1
:visited a:visited{} 选择所有已访问的链接 1
:hover a:hover{} 选择所有鼠标划过的链接 1
:active a:active{} 选择所有已选中的链接 1

位置伪类选择器

选择器 示例 说明 css
:first-child p:first-child{} 匹配第一个

元素

3
:last-child p:last-child 选择每个p元素是其父级的最后一个子级。 3
:nth-child(n) p:nth-child(2) 选择每个p元素是其父级的第二个子元素 3
:nth-last-child(n) p:nth-last-child(2) 选择每个p元素的是其父级的第二个子元素,从最后一个子项计数 3
:first-child element p:first-child i{} 匹配所有作为第一个子元素的

元素中的所有 元素

3

伪元素选择器

选择器 示例 说明 css
E::first-letter p::first-letter 选择每一个

元素的第一个字母

3
E::first-line p::first-line 选择每一个

元素的第一行

3
E::selection p::selection 匹配p中被用户选中或处于高亮状态的部分 3
E::before div::before 在div内的前面,必须有content属性,它是一个盒子 3
E::after div::after 在div内的后面 3

[案例]:放图片上有边框效果

div{
	300px
	height:200pc
	position:relative
    overflow:hidden
}

div:hover::after{
	content:""
	position:absolute
	100%
	height:100%
	top:0
	left:0
	border:20px solid rgba(255,255,255,0.5)
	box-sizing:border-border
}

[案例]:鼠标在元素上面时加上小图标

div{
	300px
	height:200pc
	position:relative
    border:1px solid #ccc
    font-family:"icomoom"
}
div::before{
    content:"\ea51"
    position:absolute;
    right:10px;
    top:5px
}

其他选择器

选择器 示例 说明 css
:focus input:focus 选择具有焦点的输入元素 2
:first-letter p:first-letter 选择每一个

元素的第一个字母

1
:first-line p:first-line 选择每一个

元素的第一行

1
:before p:before 在每个

元素之前插入内容

2
:after p:after 在每个

元素之后插入内容

2
:lang(language) p:lang(it) 选择一个lang属性的起始值="it"的所有

元素

2
:first-of-type p:first-of-type 选择每个p元素是其父级的第一个p元素 3
:last-of-type p:last-of-type 选择每个p元素是其父级的最后一个p元素
:only-of-type p:only-of-type 选择每个p元素是其父级的唯一p元素 3
:only-child p:only-child 选择每个p元素是其父级的唯一子元素 3
:nth-of-type(n) p:nth-of-type(2) 选择每个p元素是其父级的第二个p元素 3
:nth-last-of-type(n) p:nth-last-of-type(2) 选择每个p元素的是其父级的第二个p元素,从最后一个子项计数 3
:root :root 选择文档的根元素 3
:empty p:empty 选择每个没有任何子级的p元素(包括文本节点) 3
:target #news:target 选择当前活动的#news元素(包含该锚名称的点击的URL) 3
:enabled input:enabled 选择每一个已启用的输入元素 3
:disabled input:disabled 选择每一个禁用的输入元素 3
:checked input:checked 选择每个选中的输入元素 3
:not(selector) :not(p) 选择每个并非p元素的元素 3
:out-of-range :out-of-range 匹配值在指定区间之外的input元素 3
:in-range :in-range 匹配值在指定区间之内的input元素 3
:read-write :read-write 用于匹配可读及可写的元素 3
:read-only :read-only 用于匹配设置 "readonly"(只读) 属性的元素 3
:optional :optional 用于匹配可选的输入元素 3
:required :required 用于匹配设置了 "required" 属性的元素 3
:valid :valid 用于匹配输入值为合法的元素 3
:invalid :invalid 用于匹配输入值为非法的元素 3

属性选择器

选择器 示例 说明 css
[attribute] [target] 选择所有带有target属性元素 2
[attribute=value] [target=-blank] 选择所有使用target="-blank"的元素 2
[attribute~=value] [title~=flower] 选择标题属性包含单词"flower"的所有元素 2
[attribute^=value] a[src^="https"] 选选择每一个src属性的值以"https"开头的元素 3
[attribute$=value] a[src$=".pdf"] 选择每一个src属性的值以".pdf"结尾的元素 3
[attribute*=value] a[src*="runoob"] 选择每一个src属性的值包含子字符串"runoob"的元素 3
[attribute|=language] [lang|=en] 选择 lang 属性以 en 为开头的所有元素 2

CSS字体样式

语法

font: "font-style font-variant font-weight font-size/line-height font-family"
//按顺序,其中font-size和font-family的值是必需的。

font-size

  • 相对长度单位

    1. em:相对于当前对象内的字体尺寸
    2. px:像素
    
  • 绝对长度单位

    1. in:英寸
    2. cm:厘米
    3. mm:毫米
    4. pt:点
    5. xx-small、 x-small、 small、 medium
    
  • 其他单位

    1. %:设置为基于父元素的一个百分比值
    2. inherit:规定应该从父元素继承字体尺寸
    3. smaller:设置为比父元素更小的尺寸
    4. larger:设置为比父元素更大的尺寸
    

font-family

  • 可以设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体

    p{font-family:"Times New Roman", Times, serif;}
    
  • 用Unicode编码形式定义

    p{font-family:"\5FAE\8F6F\96C5\9ED1";}
    
  • 注意:如果字体系列的名称超过一个字,它必须用引号,如Font Family:"宋体"。多个字体系列是用一个逗号分隔指明

font-style

font-style:normal  		// 正常显示文本
font-style:italic    		// 以斜体字显示的文字
font-style:oblique    		// 文字向一边倾斜

font-weight

font-weight:normal
font-weight:bold|bolder|lighter|number(400相当于normal,700相当于bold)	

font-variant

font-variant:normal|small-caps  //正常|小写字母

CSS文本样式

color

color:#FF0000
color:rgb(255,0,0)
color:red
color:rgba(255,0,0,0.7)
color:hsl(120,100%,25%)		//色相-饱和度-明度
color:hsla(240,100%,50%,0.05)		//色相-饱和度-明度-阿尔法

text-align

text-align:center|right|left|justify		//居中|居右|居左|两边对齐

direction

direction:ltr|rtl	 //从左到右|从右到左

line-height

2.PNG

line-height:3		//此数字会与当前的字体尺寸相乘来设置行间距
line-height:100px
line-height:200%;	

居中用法:只要height=line-height

text-decorate

text-decorate:none|underline|overline|line-through  //无装饰|顶线|下划线|中穿线
text-decorate:underline dotted red  //红色虚线

text-indent

text-indent:50px 	//首行缩进

text-shadow

text-shadow: h-shadow v-shadow blur color;
  • h-shadow 必需 水平阴影的位置 允许负值。
  • v-shadow 必需 垂直阴影的位置 允许负值
  • blur 可选 模糊的距离
  • color 可选 阴影的颜色

text-transform

text-transform:capitalize|uppercase|capitalize 		//每个单词以大写字母开头|全大写|全小写

white-space

  • pre 空白会被浏览器保留。其行为方式类似 HTML 中的
     标签。
  • nowrap 文本不会换行,文本会在在同一行上继续,直到遇到
    标签为止。
  • pre-wrap 保留空白符序列,随屏幕大小正常地进行换行。
  • pre-line 合并空白符序列,但是保留换行符

word-spacing

word-spacing:20px		//字间距

CSS三大特性

CSS叠层性

解决样式冲突问题,权重相同,就近原则

CSS继承性

子标签会继承父标签的某些样式,如字号、字体颜色

CSS优先级

类别 权重(可叠加)
* 0,0,0,0
每个标签 0,0,0,1
每个类、伪类 0,0,1,0
每个ID 0,1,0,0
每个行内样式 1,,0,0,0
每个!impotent 无穷大

自己的优先,可忽略继承权重


CSS背景

语法

background:bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit;
//多背景案例
background:url() no-repeate top left,url() no-repeate bottom right
:hover{background-position:bottom right,top left}

background-color

background-color:#ffffff	//十六进制
background-color:bule	//颜色
background-color:rgb(255,0,255)		
background-color:rgba(255, 0, 0,0.3)		

background-image

background-image: url(bgimage.gif)	//图像的URL
//线性渐变
//起始位置,起始颜色,结束颜色
background:linear-gradient(top,green,red)	
background:linear-gradient(left top,green,red)
//起始位置,颜色 位置,颜色 位置
background:linear-gradient(left,green 0%,red 50%,blue 100%)
  • radial-gradient():径向渐变

  • repeating-linear-gradient():重复的线性渐变

  • repeating-radial-gradient():重复的径向渐变

background-repeat

background-repeat: repeat	//重复
background-repeat: repeat-x	//背景图像将在水平方向重复
background-repeat: repeat-y	//背景图像将在垂直方向重复
background-repeat: no-repeat	//不重复

background-attachment

background-attachment: scroll	//默认,背景图像会随着页面其余部分的滚动而移动
background-attachment: fixed	//固定

background-position

background-position:center;		
background-position:left top|left center|left bottom|right top|right center|right bottom|center top|center center|center bottom		//水平垂直位置,如果仅指定一个关键字,其他值将会是"center"

background-position:0% 0%|100%100%|20%	//如果仅指定了一个值,其他值将是50% 
background-position10px 20px	//水平垂直位置,如果仅指定了一个值,其他值将是50%

background-size

background-size: length|percentage|cover|contain
  • length 宽高 如果只设置一个值,则第二个值会被设置为 "auto"
  • percentage 以父元素的百分比来设置背景图像的宽度和高度
  • cover 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域,图片比例不变
  • contain 把图像图像扩展至最大尺寸,完整显示图片

background-origin

//定背景图片的定位区域。图片可以放置于 content-box、padding-box 或 border-box 区域
background-origin:content-box;
原文地址:https://www.cnblogs.com/sanhuamao/p/13590069.html