css

一:哪些位置可以写css样式

1,在head中添加style标签,可以写css样式

2,在body的标签中增加style属性,也可以写css样式

3,通过link标签(在head里)也可以导入css样式

(1)导入方式是:新建stylesheet文件c.css,html文件的head里写<link rel="stylesheet" href="c.css">,(rel代表引入的类型,stylesheet是指样式表,href是路径文件)

(2)stylesheet文件的样式写法同head中style标签的写法,id class等选择器的符号依旧是#和.

以上三个位置css的优先级:

(1)body中的标签中style属性引用的css样式优先级最高

(2)以body中的标签为基准,由内而外 由下到上,依次应用;比如head中的style样式和stylesheet文件中的样式,哪个写在后面,先应用哪个

二、选择器

1,选择器是用来定位body中的标签,给标签增加样式

2,分别有id选择器、class选择器、标签选择器、id或class组合选择器,属性选择器、id或class层级选择器

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    <!--需要在style标签中添加css样式,style标签写在head里-->
        #i1{
        <!--id选择器,对应的符号是#-->
        height:100px;
        width:100px;
        background-color:red;
        <!--分别是高度、宽度、背景色-->
        }
        #i2,#i3{
        <!--id组合选择器,把多个id名写在一起,用逗号隔开-->
        height:100px;
        width:100px;
        background-color:oringe;
        }
        .c1{
        <!--class选择器对应的符号是.-->
        height:100px;
        width:100px;
        background-color:blue;
        }
        div{
        <!--标签选择器,直接写标签名-->
        height:100px;
        width:100px;
        background-color:yellow;
        }
        span{
        <!--span标签选择器-->
        height:100px;
        width:100px;
        background-color:green;
        }
        div[hn='hn']{
        <!--属性选择器,写标签的属性,属性可以自定义-->
        height:100px;
        width:100px;
        background-color:pink;
        }
        #i2 span{
        <!--id层级选择器,对应body里标签的id为i2的span标签;空格代表下一层-->
        <!--同理,class层级选择器的样式这么写:.c1 span{background-color:pink}-->
        background-color:pink;
        }
    </style>
</head>
<body>
    <div id="i1">id选择器</div>
    <!--id的名字可以随意写,但一个名字的id选择器只能在一个html文件中被标签使用一次,再使用就得命名新的id,并且style里也得定义对应id名字的新的样式-->
    <div class="c1">class选择器</div>
    <input class="c1" >
    <!--class选择器的名字可以随意写,style里定义一个,就可以在body多个标签里使用,比如上面的div和input标签,这个选择器在css样式中使用率最高-->
    <div>div标签选择器</div>
    <span>span标签选择器</span>
    <!--标签选择器,style里定义后,就会适用于body里所有的这个标签-->
    <div hn="hn">属性选择器</div>
    <!--属性选择器,属性名可以自定义-->
    <div id="i2">
        <!--id层级选择器,有多个层级时,给id为i2的下一个层级标签渲染样式-->
        <span>id层级选择器</span>
    </div>
</body>

3,class属性可以同时引用多个选择器

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .active{
         display:none;
         <!--display:none 是隐藏的功能,加上这个,就会把其他样式隐藏掉-->
        }
        .c1{
        height:100px;
        width:100px;
        background-color:blue;
        }
    </style>
</head>
<body>
    <div class="c1 active"></div>
    <!--标签中的class属性是可以同时引用多个选择器的-->

三、css常用样式

1,宽高字体等样式

<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .c1{
            height: 100px;
            width: 100%;  #宽度可以写百分比,100%是占满屏
            background-color: blue;
            text-align: center;  #文案水平居中
            line-height: 100px;  #相当于高度的一半,就是文案垂直居中的效果
            border: 1px red solid;  #边框是1像素 红色 实线
        }
        .c2{
            font-size: xx-large;
            font-weight: bolder;  #这两个效果是字体加大加粗
        }
    </style>
</head>
<body style="margin:0">  #margin:0效果是 body里的样式没有外边距
  <div class="c1">HTML</div>
  <div class="c2">水瓶座</div>
</body>

2,float属性


<head>
<meta charset="UTF-8">
<title></title>
    <style>
        .c1{
            height: 100px;
            width: 200px;  
            background-color: blue;
            border: 1px red solid;  #边框是1像素 红色 实线
        }
    </style>
</head>
<body>
  <div class="c1" style="float: left">水瓶座</div>  
  <div class="c1" style="float: left">水瓶座</div>  #不加float: left的话,这两个div是占两行的,float:left就是样式都往左浮动,浮动到一行,如果样式比较多,会换行;同理,还有float:right
</body>

3,display属性

行内标签不可以应用宽、高、外边距、内边距等css样式,只有块级标签可以应用

<span style="height:100px;width:100px;display:block">水瓶座</span>  #display:block是行内标签转块级标签
<div style="height:100px;width:100px;display:inline">水瓶座</div>  #display:inline是块级标签转行内标签
<span style="height:100px;width:100px;display:inline-block;border:1px red solid">水瓶座</span>  #inline-block既是行内标签也是块级标签,样式设置的宽和高多大就是多大,应用于为了文字附着一些宽和高
<div style="height:100px;width:100px;display:none"></div>  #none效果是隐藏这个标签

4,margin外边距、padding内边距

比如一个方形框,border就是四条框线,padding就是框线里面的东西,margin就是框线外面的东西,上下左右边距分别是top bottom right left

<style>
        .c9{
            height:100px;
            width:100%;
            border:1px red solid;
        }
        .c0{
            height:50px;
            width:100%;
            background-color:blue;
        }
</style>
<body style="margin:0"}>   #margin:0就是body里的内容没有外边距,不加这个的话,默认是8px
<!--外边距margin-top,相当于距离外层的上边框 自身往下移动了10px,自身的宽和高并没有变化-->
   <div class="c9">
        <div class="c0" style="margin-top:10px"></div>
    </div>
<!--内边距padding-top,相当于自身的height增加了10px,改变自身-->
    <div class="c9">
        <div class="c0" style="padding-top:10px"></div>
    </div>
</body>

5,Position:给页面分层,设置了position属性的标签,与页面就是两个层面了

(1)position:fixed 分层的绝对定位

<div style="height:48px;width:100px;background-color: blue;position:fixed"></div>   #position:fixed,页面滚动时这个样式会固定不动
<div style="height:1000px;width:100px"></div>    #这个是为了出现滚动条
<div style="height:1000px;width:100px;"></div>  #height比较大时会出现滚动条;
<div style="height:48px;background-color: blue;position:fixed;top:0;right:0;left:0"></div> #不设定宽度,页面滚动时,效果是页面顶端 左右端都固定一个高度48像素平铺的蓝色面;做固定条一般是这么做
<div style="height:48px;width:48px;background-color: blue;position:fixed;bottom:0;right:0"></div> #页面滚动时,页面右下角固定一个高宽48像素的蓝色平面,适用于页面“返回顶部”

(2)position和a标签 应用于返回指定的页面位置

<body>
    <div style="height:1000px;width:100%" id="i1">顶部</div>   
    <div style="height:1000px;width:100%" id="i2">中间</div>   #这里设置好id i1和i2的页面位置
    <div style="height:48px;width:48px;position:fixed;bottom:0;right:0">
        <a href="#i1">回到顶部</a>  #在页面的右下角设置一个固定的回到顶部的小标签,a标签可以看作锚点,点击“回到顶部”,页面就可以到href链接到的页面位置
    </div>
    <div style="height:48px;width:48px;position:fixed;bottom:0;left:0">
        <a href="#i2">回到中间</a>   #同上,回到“中间”的页面位置
    </div>
</body>

(3)设置了position:fixed层级,显示其他文案的方法

<div style="height:48px;width:100px;background-color: blue;position:fixed"></div>  #在页面顶部设置固定层级
<div style="height:1000px;width:100px;margin-top:48px">11111</div>  #挨着固定层级的这个div如果不加上margin-top:48px(高度和设置的固定层级高度一致),11111等文案会被固定层级盖住显示不出来

(4)position:relative absolute 层级的相对定位,这俩需要连用

<head>
    <style>
            .out{
                height:400px;
                width:400px;
                border:4px red solid;
                position:relative;   #外框不需要移动的大正方形是position:relative
            }
            .inner{
                height:100px;
               width:100px;
                position:absolute;   #里面需要移动定位的小正方形是position:absolute;这里每个小正方形和大正方形都是两个页面层级
            }
    </style>
</head>
<body>
    <div class="out">
            <div class="inner" style="background-color: blue;right:0;bottom:0"></div>  #相对定位后,蓝色inner小正方形在out大正方形右下角
            <div class="inner" style="background-color: red;left:0;bottom:0"></div>  #左下角
            <div class="inner" style="background-color: pink;right:0;top:0"></div>  #右上角
            <div class="inner" style="background-color: black;left:0;top:0"></div>   #左上角
    </div>
</body>

(5)z-index设置层级的优先级,数值越大,该层就在最上面

<div class="out">
    <div class="inner" style="background-color: blue;z-index:1"></div>  #不设置z-index的话,页面上    黑色小正方形会覆盖在蓝色正方形上;加上z-index:1,层级优先级就高了,蓝色正方形就会在黑色上面
    <div class="inner" style="background-color: black"></div>
</div>

6,cursor属性 :pointer 鼠标悬浮样式

<input type="button" value="小手" style="cursor:pointer">  #cursor:pointer这个属性会让鼠标光标悬浮到按钮时变成一个小手

7,overflow三个属性

#当内部图片或内容超出外层div的宽和高时,overflow:auto会自动添加滚动条,不超出时就不添加
<div style="height:100px;width:100px;border: 1px red solid;overflow:auto"><img src="http://ui.xxxx"></div>
#不管内部图片或内容小于或大于外层的宽和高时,overflow:scroll都会添加滚动条,没有auto灵活
<div style="height:100px;width:100px;border: 1px red solid;overflow:scroll"><img src="http://ui.xxxx"></div>
#当内部图片或内容超出外层的宽和高时,overflow:hidden会自动裁剪出图片或内容的左上角;是自动的,不超过就不裁剪
<div style="height:100px;width:100px;border: 1px red solid;overflow:hidden"><img src="http://ui.xxxx"></div>

8,backgroud-image  backgroud-repeat 设置背景图和背景图堆叠

<div style="height:200px;width:200px;border: 1px red solid;backgroud-image:url('http://xxxxx');backgroud-repeat:no-repeat"></div>
#backgroud-image:url()这个属性是设置背景图;当内部图片小于外部边框时,有backgroud-repeat:no-repeat就不堆叠,只显示一张图,不加这个属性,图片就会堆叠满外部边框
#backgroud-repeat:repeat-x 这个属性是让背景图横向堆叠满外部边框
#backgroud-repeat:repeat-y 这个属性是让背景图纵向堆叠满外部边框

9,backgroud-position 调整图片在div框里的位置

<div style="height:10px;width:10px;border: 1px red solid;backgroud-image:url('http://xxxxx');backgroud-position:0 0"></div>
#backgroud-position这个属性是给背景图分层,相当于背景图这一层在div框的后面,通过设置backgroud-position的数值,可以移动背景图片,让图片的某部分显示在div框里

 

posted @ 2021-02-02 01:13  hesperid  阅读(61)  评论(0编辑  收藏  举报