css

前端之CSS
层叠样式表(口红,美甲,眉笔,化妆盒)
语法结构
选择器 {属性:属性值;属性:属性值;属性:属性值;}

css

引入css的三种样式

三种引入css样式的方式
		1.head内style标签内部直接书写css代码
		2.link标签引入外部css文件
		3.直接在标签内通过style属性书写css样式
	
	ps:注意页面css样式通常都应该写在单独的css文件中

<!--
"mycss.css"里的文件内容
p {color: darkblue }
-->


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>yaya</title>
    <link rel="stylesheet" href="mycss.css">  #  第二种方法
    <style>
        p{color: blueviolet }   # 第一种方法
    </style>
</head>
<body>
<p style="color: deepskyblue ">我是p标签</p>   #第三种方法
</body>
</html>

注意:
1.link标签引入外部css文件,一定要写rel="stylesheet",不然失效.

2.head内style标签内部直接书写css代码,
	注释
		/*单行注释*/
		/*
		多行注释
		*/
	如果先把style先注释了,剩下p{color: blueviolet },就会被html当	  成普通文本读入,写什么显示什么(再注释的话,也是html注释的方		法),但如果在style内先注释 p{color: blueviolet },就会是/*   		*/

3.如果三种方法都写,p自己本身>style>link(因为style离p比较近,程序由上到下执行,link被style覆盖..)

基本的选择器

标签选择器
id选择器
类选择器
通用选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>yaya</title>
    <style>
        /*标签选择器,所有span标签的颜色都是绿色*/

        span {
            color:chartreuse;
        }
        /*id选择器*/
          #span2 {
            color: red;
        }
        #span1 {
            font-size:24px;
            color:rebeccapurple;
        }
        /*类选择器*/
        .c1 {
            color:orange;
        }
        /*通用选择器*/
        * {
            color:blue;
        }

    </style>
</head>
<body>
<span id="span1">span</span>
<div class="c1">
    div
    <p style="color: brown ">
        div里的p
        <span class="c1" id="span2">在div里p里的span</span>
    </p>
</div>
<div class="c1">div</div>
<p>外面的p</p>
</body>
</html>

注意:
1.body里面写的是div,span,p等的结构标签,在head里面写的是为body装饰  的标签style等

2.选择顺序就是加载的顺序而来的,先从自身找,如给了id 或者是class,先从自身的id或者class中找,如果写了id和class,会找id的,因为id的精确度比较高,如果什么都没写会先找标签选择器里面的,如果没写标签选择器,会找通用选择器,没有会找父类中的子类如 div里的p里的style="color: brown ",没有会找div class="c1"

3.样式类名不要用数字开头(有的浏览器不认)

4.标签中的class属性如果有多个,要用空格分隔

组合选择器

后代选择器
儿子选择器
毗邻选择器
弟弟选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>yaya</title>
    <style>
        /*后代选择器  div里面所有的span标签都变成粉色 子子孙孙*/
        div span{
            color:palevioletred;
        }
        /*!*儿子选择器*!  不包括儿子的儿子*/
        div>span {
            color: #769B36;
        }
        /*毗邻选择器 对下不对上*/
        /*选择所有紧接着<div>元素之后的一个<span>元素*/
        div+span{
            color:blue;
        }
        /*弟弟选择器 对下不对上*/
        /*选择所有紧接着<div>元素之后的<span>元素*/
        div~span{
            color:darkcyan;
        }

    </style>
</head>
<body>
<span>我是div上面的第一个span</span>
<div>
    <span>我是div里的第一个span</span>
    <p>我是div里面的第一个p
    <span>
        我是div里面的第一个p里面的span
    </span></p>
    <span>我是div里的第二个span</span>
</div>
<span>我是div下面的第一个div</span>
<span>我是div下面的第二个span</span>
</body>
</html>


属性选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>yaya</title>
    <style>

        /*只要有xxx属性名的标签都找到,不管有没有属性值或者无论是什么块标签*/
    [xxx]{
        color: #769B36;
    }
        /*只要是标签有属性名为xxx并且值为1*/
        [xxx='1'] {
            color:brown;
        }
        /*规定p标签内部必须有属性名为xxx并且值为2的标签*/
        span[xxx='2'] {
            color: blue;
        }
    <!--</style>-->
</head>
    
<body>
<p xxx>我是p,我有属性名xxx</p>
<div xxx="1">我是div ,属性名为xxx,属性值为1</div>
<p xxx="2">我是p,属性名为xxx,属性值为2</p>
<span xxx>我只有属性名</span>
<span xxx="1">我有属性名和属性值,并且属性值为1</span>
<span xxx="2">我有属性名和属性值,并且属性值为2</span>
</body>
</html>

分组与嵌套

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>丫丫</title>
    <style>
        /*分组*/
        div,p,span {
            color:blueviolet;
        }
        /*嵌套:不同的选择器可以共用一个样式
        后代选择器与标签组合使用
        */
        div p,span {
            color:chartreuse;
        }
    </style>
</head>
<body>
<div>div</div>
<p>p</p>
<span>span</span>
</body>
</html>

伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>yaya</title>
    <style>
        a:link{
            color:palevioletred;
        }
        a:hover {
            color:yellow;
        }
        a:active {
            color:black;
        }
        a:visited {
            color:green;
        }
        input:focus {
            background-color:red;
        }
    </style>
</head>
<body>
<a href="https://www.baidu.com">百度</a>
<a href="http://www.xiaohuar.com">校花网</a>
<a href="http://www.sogo.com">搜狗</a>
<input type="text">
</body>
</html>






<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*p:first-letter {*/
            /*color: red;*/
            /*font-size: 24px;*/
        /*}*/
        p:before {
            content: '*';
            color: green;
        }
        p:after {
            content: '?';
            color: deeppink;
            font-size: 48px;
        }
    </style>
</head>
<body>
<p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
<p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
<p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
<p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
</body>
</html>

选择器的优先级

研究选择器优先级
		相同选择器 不同的引入方式     就进原则 谁越靠近标签谁输了算
		不同选择器 相同的引入方式
	
	
		行内样式 > id选择器> 类选择器 > 标签选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            color:rebeccapurple;
        }
        .c1 {
            color: antiquewhite;
        }
        #p1 {
            color:green;
        }
    </style>
    <link rel="stylesheet" href="mycss.css">
</head>
<body>
<p id="p1" class="'c1" style="color:red">www</p>
</body>
内联>id选择器>(伪类=属性选择器=类选择器)>元素选择器>通用选择器>父元素继承样式
</html>

如何修改标签样式

样式修改

宽和高
with:属性可以为元素设置宽度
height:属性可以为元素设置高度
块级标签才能设置宽度,内联标签的宽度由内容来决定

文字字体
font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。

字体大小
font-size

字重(粗细)
font-weight
normal :默认值,标准粗细
bold:粗细
bolder:更粗
lighter:更细
100-900:设置具体粗细,400等同于normal,而700等同于bold
inherit:继承父元素字体的粗细值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
             400px;
            height: 100px;
        }
        p {
            font-family: "Sitka Banner", "Arial", sans-serif
        }
        p {
            font-size: 16px;
            font-weight: lighter;
        }
    </style>
</head>
<body>
<div>div</div>
<div>div</div>
<p>以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可</p>
</body>
</html>

<!--
只有块级标签才能修改宽和高,当设置的宽没有满,默认会用黄色补全,
因为块级标签就是独占一行的,黄色的部分就是margin
-->

文本颜色

颜色属性被用来设置文字的颜色。

颜色是通过CSS最经常的指定:

十六进制值 - 如: #FF0000
一个RGB值 - 如: RGB(255,0,0)
颜色的名称 - 如:  red
还有rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            /*color: red;*/
            /*color: rgb(0,0,255);*/
            /*color: #FF6700;*/
            color: rgba(0,0,255,0.8);
        }
    </style>
</head>
<body>
<p>以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可</p>
</body>
</html>

文本的属性

text-decoration 属性用来给文字添加特殊效果。

值			    描述
none	 		 默认。定义标准的文本。
underline		 定义文本下的一条线。
overline		 定义文本上的一条线。
line-through	 定义穿过文本下的一条线。
inherit			 继承父元素的text-decoration属性的值


常用的为去掉a标签默认的自划线:
a {
  text-decoration: none;
}


文字对齐
text-align 属性规定元素中的文本的水平对齐方式。

值	    描述
left	 左边对齐 默认值
right	 右对齐
center	 居中对齐
justify	 两端对齐


首行缩进
将段落的第一行缩进 32像素:

p {
  text-indent: 32px;
}


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            /*text-align: right;*/
            /*text-decoration: underline;*/
            /*text-decoration: overline;*/
            text-decoration: line-through;
            text-indent: 48px;
        }
        a {
            text-decoration: none;
        }
    </style>
</head>
<body>
<p>以把多个字体名称作为</p>
<a href="http://www.xiaohuar.com">笑话网</a>
</body>
</html>

背景属性

/*背景颜色*/
background-color: red;
/*背景图片*/
background-image: url('1.jpg');
/*
 背景重复
 repeat(默认):背景图片平铺排满整个网页
 repeat-x:背景图片只在水平方向上平铺
 repeat-y:背景图片只在垂直方向上平铺
 no-repeat:背景图片不平铺
*/
background-repeat: no-repeat; 
/*背景位置*/
background-position: left top;
/*background-position: 200px 200px;*/

支持简写
background:#336699 url('1.png') no-repeat left top;

滚动背景图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>滚动背景图实例</title>
    <style>
        .d1 {
            height:500px;
            background-color:tomato;
        }
        .box {
            100%;
            height:500px;
            background:url(2..PNG)  center center;
            background-attachment: fixed;
        }
        .d2 {
            height: 500px;
            background-color:steelblue;
        }
        .d3 {
            height:500px;
            background-color:mediumorchid;
        }

    </style>
</head>
<body style="height: 2000px">

<div class="d1"></div>
<div class="box"></div>
<div class="d2"></div>

<div class="d3"></div>
</body>
</html>

边框

边框属性

  • border-width
  • border-style
  • border-color
#i1 {
  border- 2px;
  border-style: solid;
  border-color: red;
}

通常使用简写方式:

#i1 {
  border: 2px solid red;
}

边框样式

描述
none 无边框。
dotted 点状虚线边框。
dashed 矩形虚线边框。
solid 实线边框。

除了可以统一设置边框外还可以单独为某一个边框设置样式,如下所示:

#i1 {
  border-top-style:dotted;
  border-top-color: red;
  border-right-style:solid;
  border-bottom-style:dotted;
  border-left-style:none;
}

画圆

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            200px;
            height:200px;
            background-color:red;
            border:3px solid black;
            border-radius:50% ;
        }
    </style>
</head>
<body>
<div style="'"></div>
</body>
</html>

display属性

用于控制HTML元素的显示效果。


display:"none"	:HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
display:"block"	:默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
display:"inline":按行内元素显示,此时再设置元素的width、height、margin-top、margin-bottom和float属				    性都不会有什么影响。
display:"inline-block":	使元素同时具有行内元素和块级元素的特点。
 

display:"none"与visibility:hidden的区别:
visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。




<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            display: none;
        }
        /*inline将块儿级标签变成行内标签*/
        div {
            display: inline;
        }
        span   {
            display: block;
        }
        /*将选择的标签既具有行内标签特点又有块儿级标签的特点*/
        span {
            display: inline-block;
            height: 400px;
             400px;
            background-color: red;
            border: 3px solid black;
        }

    </style>
</head>
<body>
<div>div</div>
<div>div</div>
<span>span</span>
<span>span</span>
</body>
</html>

总结

CSS:层叠样式表

注释: /*写注释*/

语法结构:
	选择器 {属性:'属性值';
			属性1:'属性值1';
	}

选择器
	基本选择器
		标签选择器
			div {color:red}
		id选择器
			#d1 {color:red}
		类选择器
			.c1 {color:red}
		通用选择器
			* {color:red}
	组合选择器
		后代选择器
			div span {color:yellow}
		儿子选择器
			div>span {color:red}
		毗邻选择器
			div+span {color:red}
		弟弟选择器
			div~span {color:red}
	属性选择器
		任何标签都可以设置自定义的属性及属性值
		[xxx]
		[xxx='1']
		span[xxx='1']
	分组与嵌套
		div,span,p {color:red}
		div,#d1,.c1 {color:red}
	伪类选择器
		a:link{}
		a:hover{}
		a:active{}
		a:visited{}
		input:focus{}
	伪元素选择器
		p:first-letter{font-size:24px}
		p:before {
			content:'#',
			font-size:24px
		}
		p:after {
			content:'?',
			font-size:24px
		}
	
	选择器优先级
		行内样式 > id选择器 > 类选择器 > 标签选择器
		
长宽:
	width
	heigth

字体属性
	font-family
	font-size
	font-weigth

背景
	背景颜色
	背景图片
		如果背景图片尺寸小于所在的区域尺寸那么默认情况下
		是铺满整个区域
		可以通过指定参数来控制是否铺满
		no-repeat
		repeat-x
		repeat-y
		center center
		15px	20px
	
		backgroud:背景颜色 背景图片 是否铺满 位置

文字属性
	text-align:center;
	
	text-decoration:none;  主要就是用于去除a标签自带的下划线
	
	text-indent:48px;  用于首行缩进
	
	ul {list-style-type:none}
	
	

边框
	border-style
	border-size
	border-color
	
	border:3px solid red;
	border-left:3px solid red;
	border-top:3px solid red;
	border-right:3px solid red;
	border-bottom:3px solid red;
	
	
display
	div {display:none}  不显示不占位
				inline
				block
				inline-block  让行内标签也能设置长宽

画圆
	div {border-radius:50%;}
原文地址:https://www.cnblogs.com/huangxuanya/p/10946976.html