JavaWeb(day3)

本文详细介绍了CSS的基本概念,包括层叠样式表的作用、三种引用方式及其优缺点,深入讲解了CSS样式的优先级、各种选择器的使用场景及格式,如标签名、ID、类、属性、派生、子元素、分组、伪元素和任意元素选择器。

###CSS 


- CSS Cascading 层叠 Style样式  Sheet表  层叠样式表,CSS技术用于美化html页面,html相当于建房子,css相当于装修房子。


###CSS的引用方式


1. 内联样式:在标签的内部,通过style属性添加css样式,弊端只能作用于一个元素,不能够复用。
     

<div style="color:red; border:1px solid blue ">我是一个div</div>
<span style="background-color:yellow">我是一个span</span>


2. 内部样式:通过一个Style标签引入css,可以在当前页面中进行复用,应用场景比内联要广,但是优先级内联要高,弊端是只能在当前页面中复用,工作中使用不多,工作中要把样式和html代码分离,但是学习过程中内部用的最多。
 

<style type="text/css">
        /* 通过选择器找到相对应的标签 把样式加到这个标签上  */
        div{
            color:pink;
            border:2px solid green;
        }
        span{
            background-color:purple
        }
        </style>


3. 外部样式:通过在head里面写link标签,把外部的样式文件引入

      

 <link rel="stylesheet" href="first.css"> 



###CSS样式优先级


- 内联样式的优先级最高
- 后执行的会覆盖前面执行的效果


###CSS的选择器


####标签名选择器
          标签名{
            样式代码1;
            样式代码2
        }
####id选择器
- 通过id找到相对应的标签(元素)
- 场景:当需要对页面中的某一个元素设置效果的时候选择id选择器
- 格式:#id{}


####类(class)选择器
- 通过标签的class属性值选择标签
- 场景:当页面需要给多个元素设置相同样式时使用类选择器
- 格式 .class{}


    

<!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Insert title here</title>
        <style type="text/css">
        #d2{
            color:red;
        }
        #d3{
            border:1px solid blue;
        }
        .s1{
            background-color: yellow;
        }
        .s2{
            background-color: green;
        }
        </style>
        </head>
        <body>
            div>div1</div>
            <div id="d2">div2</div>
            <div id="d3">div3</div>
            <span class="s1">s1</span>
            <span class="s2">s2</span>
            <span class="s1">s3</span>
            <span class="s2">s4</span>
            <span class="s1">s5</span>
            <span class="s2">s6</span>
        </body>
        </html>


####属性选择器
- 通过标签的属性名和值找到相对应的标签
- 场景:如果需要属性查找请使用

   

 /* 属性选择器 */
    input[type='text']{
        background-color: red;
    }
    input[type='password']{
        background-color: pink;
    }

    <input type="text"><br>
    <input type="password">



####派生选择器(后代选择器)
- 类似于一个路径,找到符合要求的标签匹配所有的后代(子元素 孙子元素...)

     

   /* 后代选择器  */
        #d1 .c1 span{
            color:red;
        }
        #d2 .c2 span{
            color: green;
        }


####子元素选择器
- 类似于一个路径,找到符合要求的标签 只匹配所有的子标签

        

/* 子元素选择器   */
        #d1>.c1>span{
            color: red;
        }
        .c2>span{
            background-color: green;
        }
        p span{
            background-color: blue;
        }


####分组选择器
- 如果需要对页面多种不相关的元素设置相同的样式,如果一个选择器搞不定,可以使用分组选择器把多组选择器通过,合并成一个

       

 /* 分组选择器  */
        ul li a, input[type="text"], .c1>p>span , h1{
            background-color: green;
        }



####伪元素选择器
- 用于选择元素的状态

  1. visited:访问过的状态
  2. link:未点击的而状态
  3. hover:鼠标悬停的状态
  4. active:鼠标点击时的而状态


- hover必须写在link和visited的后面,active必须写在hover的后面,按照下面的代码的顺序写即可。

<style type="text/css">
        /* 访问后的状态  */
            a:VISITED{
                color: red;
            }
            /* 未点击的状态  */
            a:LINK {
                color: yellow;
            }
            /* 鼠标悬停状态  */
                a:HOVER {
                    color: blue;    
                }
            /* 点击时的状态  */
                a:ACTIVE {
                color: pink;
        }
        </style>


####任意元素选择器
- 如果需要给页面所有元素天价相同的样式可以选择使用此选择器*{}

         

   *{
                border: 1px solid red;
            }
            html{
                border: 1px solid yellow;
            }
            body{
                border: 1px solid blue;
            }


##css中常用的属性


###元素的宽高
- width/height 只能修改块级元素的宽高,不能修改行内元素的宽高

###颜色赋值

  1. 通过颜色名称赋值 red yellow blue green pink purple...
  2. 通过6位16进制的方式赋值
  3. 通过3位16进制的方式赋值
  4. 10进制 通过rgb(255,0,0)
  5. 10进制 通过rgba(255,0,0,0-1) alpha 透明度 


       

         /* 1.通过颜色名称赋值  */
            background-color:blue;
         /* 2.6位16进制赋值 每两位表示一个颜色 红 绿 蓝 ff表示255 当前颜色的最大值*/
            background-color: #ff0000;
         /* 3. 3位16进制的赋值  */
            background-color: #ff0;
         /* 4. 10进制 通过rgb(255,0,0) */
            background-color: rgb(0,255,0);
         /* 5. 10进制 通过rgba(255,0,0,0-1) alpha 透明度 */
            background-color: rgba(0,0,255,0.6);



###背景图片

    

        border: 1px solid red;
        width:500px;
        height:500px;
        /* 添加背景图片  */
        background-image:url("../imgs/k.jpg");    
        /* 图片尺寸 */
        background-size:300px 300px;
        /* 不重复 */
        background-repeat:no-repeat;
        /* 控制图片位置 bottom底部 top顶部 center 中间  left 左边 right 右边   */
        background-position:center bottom;
        /* 通过百分比控制位置  */
        background-position:80% 30%;



### 布局相关属性(盒子模型)



####  一个元素在页面所占的宽度如何计算?

- 左外边距+左边框的宽度+左内边距+元素的宽度+右内边距+右边框的宽度+右外边距

#### 外边距指元素边框距离相邻元素或上级元素边框的距离

   

        /* 单独设置外边距  */
         margin-left:50p
         margin-top:50px;
        /* 批量设置外边距  */
         margin:50px;/* 上右下左都是50  */  
         margin :10px 30px;*/  /* 上下  左右 */
         margin :0px duto; */ /* 上下0 左右居中 */
         margin : 10px 20px 30px 40px; *//* 上右下左 顺时针  */


#### 行内元素左右边距生效 上下不生效

#### 两个相邻元素的上下外边距 取最大值,两个相邻元素的左右边距是左外+右外










 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值