css3 导入方式选择器 美化网页 盒子模型 浮动 定位

1.css导入

<!--外部样式-->
    <link rel="stylesheet" href="css/style.css" />
rel:导入的样式表 
href: css文件的路径

2. 选择器

2.1基本选择器
基本选择器有三种:id选择器>类选择器>标签选择器

在同一个页面内所有的标签的id属性值必须是唯一的(不能有重复)
在同一个页面内所有的标签的class属性值可以重复,一般同级的、相同标签会使用一样类的class值

标签选择器:
标签名 {
         样式...
       }
       
标签可以是html的任何标签,
表示选中此页面的所有此标签,并添加{}内的样式;

类选择器:
 class属性值{
         样式...
       }
向有此class属性值的标签内容添加样式
 
 id选择器:
 id属性值{
         样式...
       }
向有此id属性值的标签内容添加样式

2.2层次选择器

1.后代选择器:在某个元素的后面
/*后代选择器:中间是空格*/
选择器1 选择器2{
        样式...
   }
选择器1和选择器2可以是 基本选择器或是层次选择器,但选择器1必须是选择器2父级标签或祖辈

选择器1和选择器2可以是基本选择器或是层次选择器,但选择器1必须是选择器2的父级标签或祖辈

2.子选择器,一代
/*子选择器:中间是大于号*/
选择器1 > 选择器2{//中间是 >
        样式...
   }
选择器1和选择器2可以是 基本选择器或是层次选择器,而且选择器2必须选择器1的下一代(只有一代哦)才有效

选择器1和选择器2可以是基本选择器或是层次选择器,而且选择器2必须选择器1的下一代(只有一代哦)才有效

3.向下一个相邻的兄弟选择器 同辈
/*向下相邻兄弟选择器:只有一个,相邻(向下)*/
选择器1 + 选择器2{//中间是 +
        样式...
   }
 选择器1和选择器2可以是 基本选择器或是层次选择器,而且选择器2必须选择器1的同辈并且是与选择器1相邻的下一个才有效

选择器1和选择器2可以是基本选择器或是层次选择器,而且选择器2必须选择器1的同辈并且是与选择器1相邻的下一个才有效

4.向下同辈的兄弟选择器
/*向下同辈的兄弟选择器 :*/
选择器1 ~ 选择器2{//中间是 ~
        样式...
   }
选择器1和选择器2可以是**基本选择器**或是**层次选择器**,而且选择器2必须选择器1的**同辈**并且是在选择器1**后面**才有效

选择器1和选择器2可以是基本选择器或是层次选择器,而且选择器2必须选择器1的同辈并且是在选择器1的后面才有效

3.结构伪类选择器类

<style>
        /*选择器1的父元素的第一个子元素,而且这第一个子元素还要是选择器1选择得到的元素*/
       选择器1:first-child{
            background: aqua;
        }

        /*选择器1的父元素的最后一个子元素,而且这最后一个子元素还要是选择器1选择得到的元素*/
        选择器1:last-child{
            background: blue;
        }
        /*选中p1:定位到父元素,选择当前的第一个元素
            选择当前p元素 的父级元素,选中父级元素的第一个,并且是当前元素才生效!
        */
        p:nth-child(1){
            background: orange;
        }


        /*选中父元素下的,第2个p元素*/
        p:nth-of-type(2){
            background: red;
        }
    </style>

4.属性选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
         .demo a{
            display: block;
            height: 50px;
            width: 50px;
            float:left;
            border-radius: 10px;
            background: blue;
            text-align: center;
            color: beige;
            text-decoration: none;
            margin-right: 5px;
            font: bold 20px/50px Arial;
        }
         /*属性名,属性名=属性值(正则)
         =表示绝对等于
         *=表示包含
         ^=表示以...开头
         $=表示以...结尾
         存在id属性的元素  a[]{}
         */
        /* a[id]{
             background: red;
         }*/

         /*id=first的元素*/
       /* a[id=first]{
            background: aqua;
        }*/

        /*class中有links元素*/
       /* a[class = "links item2 first2"]{
            background: orange;
        }*/
        /*a[class*="links"]{
            background: black ;
        }*/
        /*选中href中以http开头的元素*/
        a[href^="http"]{
            background: orange;
        }
    </style>

</head>
<body>
<p class="demo">
    <a href="http://www.baidu.com" class="links item first" id="first">1</a>
    <a href="/adad/faf" class="links item2 first2" >2</a>
    <a href="qwe123" class="links item3 first3" >3</a>
    <a href="eweqe" class="links item4 first4" >4</a>
    <a href="rrrrr" class="links item5 first5" >5</a>
    <a href="ttt" class="links item6 first6" >6</a>
    <a href="yyy" class="links item7 first7" >7</a>
</p>
</body>
</html>

5.美化网页

5.1:字体设置
选择器{
font-family:楷体;//设置字体
		color:red;//设置文本颜色red/#fff/rgb(1~255,1~255,1~255)/rgba(1~255,1~255,1~255,0~1)//四种表示方法0~1表示透明度
		font-size: 50px;//设置文字大小 单位 px
		font-weight:blod;//文字加粗
		font-weight:bolder;//文字加粗 也可以填px,但不能超过900,相当于bloder
/*常用写法:*/
         font:oblique bloder 12px "楷体"//联合写法
         }

5.2:文本设置
color: red/#fff/rgb(1~255,1~255,1~255)/rgba(1~255,1~255,1~255,0~1)//四种表示方法0~1表示透明度
文本对齐方式–>text-align:center
首行缩进–>text-indent:2em
行高–>line-height:300px;
下划线–>text-decoration:none//可适用于超链接<a>
text-decoration:underline/*下划线*/
text-decoration:line-through/*中划线*/
text-decoration:overline/*上划线*/
text-decoration:none/*超链接去下划线*/

img,span{vetical-align:middle}//图片文字水平对齐

	a{/*超链接有默认的颜色*/
		text-decoration:none;
		color:#000000;
	}
	a:hover{/*鼠标悬浮的状态*/
		color:orange;
	}
	a:active{/*鼠标按住未释放的状态*/
		color:green
	}
	a:visited{/*点击之后的状态*/
		color:red
	}


/*	第一个参数:表示水平偏移
	第二个参数:表示垂直偏移
	第三个参数:表示模糊半径
	第四个参数:表示颜色
*/
text-shadow:5px 5px 5px 颜色//设置阴影



5.3:列表ul li

/*list-style{
	none:去掉原点
	circle:空心圆
	decimal:数字
	square:正方形
}*/


5.2:背景设置

//背景图片设置
background-image:url("");/*默认是全部平铺的*/
background-repeat:repeat-x/*水平平铺*/
background-repeat:repeat-y/*垂直平铺*/
background-repeat:no-repeat/*不平铺*/
background-size: 50px 50px//第一个数是宽度 第一个数是高度 单位 px/%

background:red url("图片相对路劲") 270px 10px no-repeat//中间两数用来改变图片位置
background-position:/*定位:背景位置*/


5.2:盒子模型

盒子的计算方式:
margin+border+padding+内容的大小

  • margin:外边距//不会改变宽高
  • padding:内边距//会改变自己的宽高
  • border:边框
border:粗细 样式(实线,虚线) 颜色
margin-left/right/top/bottom–>表示四边,可分别设置,单位 px/%  也可以同时设置如下
margin:0 0 0 0/*分别表示上、右、下、左;从上开始顺时针*/
/*例1:居中*/
margin:0 auto /*auto表示左右自动*/
/*例2:*/
margin:4px/*表示上、右、下、左都为4px*/
/*例3*/
margin:10px 20px 30px/*表示上为10px,左右为20px,下为30px*/


总结:
body总有一个默认的外边距 margin:0
常见操作:初始化
margin:0;
padding:0;
text-decoration:none;


5.3:浮动

块级元素:独占一行 h1~h6 、p、div、 列表…
行内元素:不独占一行 span、a、img、strong
注: 行内元素可以包含在块级元素中,反之则不可以。

块级元素:独占一行 h1~h6 、p、div、 列表…
行内元素:不独占一行 span、a、img、strong
注: 行内元素可以包含在块级元素中,反之则不可以。

border-radius有四个参数(顺时针),左上开始
圆圈:圆角=半径


{
display:
     block:块元素
     inline:行内元素
     inline-block:是块元素,但是可以内联,在一行
这也是一种实现行内元素排列的方式,但是我们很多情况用float

 display:block;//默认块级元素
 display: inline-block;//行内元素
 
}

{
float:left/right左右浮动

clear:
  right:右侧不允许有浮动元素
  left:左侧不允许有浮动元素
  both:两侧不允许有浮动元素
  none:

解决塌陷问题方案:
方案一:增加父级元素的高度; //简单、代码尽量避免空div
方案二:增加一个空的div标签,清除浮动;   //简单,元素假设没有了固定的高度,就会超出
方案三:在父级元素中增加一个overflow:hidden; //简单,下拉的一些场景避免使用
方案四:父类添加一个伪类:after; //写法稍微复杂,但是没有副作用,推荐使用
#father:after{
	content:'';
	display:block;
	clear:both;
}
}

display:方向不可以控制
float:浮动起来的话会脱离标准文档流,所以要解决父级边框塌陷的问题。

5.4:定位

/*相对定位: position: relative;
       是相对自己原来的位置来定位
       将原位置作为参照物,
       用top,left,right,bottom来表示
       参照物在现在位置的什么方位以及距离
相对于原来的位置,进行指定的偏移,相对定位的话,它仍然在标准文档流中,原来的位置会被保留
    */

    /*绝对定位:position: absolute;
    在父级元素范围内移动
    将有相对定位的父级元素(一直向上找,直到浏览器对象)作为参照物
    用top,left,right,bottom来表示
     现在位置在父级元素的什么方位以及距离
     一般来说当子元素使用绝对定位时,父级元素使用先对定位但不设置方位(子绝父相)
相对一父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中,原来的位置不会被保留
    */

    /*固定定位: position: fixed;
    参照物只能是是浏览器窗口
    用top,left,right,bottom来表示
     现在位置在浏览器的什么方位以及距离
    */



z-indexnum;num大小决定级别
图层~
z-index:默认是0,最高无限~999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值