首页 > 其他分享 >CSS

CSS

时间:2023-06-20 19:35:45浏览次数:39  
标签:color 元素 height background border 选择器 CSS

CSS

如何学习?

  1. CSS是什么
  2. CSS怎么用(快速入门)
  3. CSS选择器(重点+难点)
  4. 美化网页(文字,阴影,超链接,列表,渐变...)
  5. 盒子模型
  6. 浮动
  7. 定位
  8. 网页动画(特效)
  9. W3C
  10. 菜鸟教程

什么是CSS?

Cascading Style Sheet 层叠级联样式表

CSS:表现(美化网页)

字体,颜色,边距,高度,宽度,背景图片,网页定位,网页浮动

CSS发展史

CSS1.0

CSS2.0:DIV(块)+CSS,HTML与CSS结构分离的思想,网页变得简单,SEO

CSS2.1:浮动,定位

CSS3.0:圆角边框,阴影,动画,浏览器兼容性

快速入门

练习格式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--规范,<style>可以编写CSS的代码,每一个声明最好使用分号结尾
语法:
选择器{
声明1;
声明2;
声明3;
}
-->
    <style>
        h1{
            color: red;
        }
    </style>
</head>
<body>
<h1>我是标题</h1>
</body>
</html>

建议使用这种规范

CSS的优势:

  1. 内容和表现分离
  2. 网页结构表现统一,可以实现复用
  3. 样式十分丰富
  4. 建议使用独立html的css文件
  5. 利用SEO,容易被搜索引擎收录

CSS的三种导入方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--内部样式-->
    <style>
        h1{
            color: green;
        }
    </style>
    <!--外部样式-->
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<!--优先级:就近原则-->
<!--行内样式:在标签元素中,编写一个style属性,编写样式即可-->
<h1 style="color: red">我是标签</h1>
</body>
</html>
/*外部样式*/
h1{
    color: yellow;
}

拓展:外部样式两种写法

  • 链接式:
    • link标签
  • 导入式:@import是CSS2.1特有
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!-- 导入式-->
  <style>
    @import url("css/style.css");
  </style>
</head>
<body>
<h1>狂神说java</h1>
</body>
</html>

选择器

作用:选择页面上的某一个或者某一类元素。

基本选择器

标签选择器

选择一类标签。 标签{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
/*标签选择器会选择到页面上所有的标签*/
        h1{
            color: #154eec;
        }
p{
    font-size: 50px;
}
    </style>
</head>
<body>
<h1>学java</h1>
<h1>学java</h1>
<p>听狂神说</p>
</body>
</html>

类选择器class

选择所有class属性一致的标签,跨标签。 .类名{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*类选择器给格式    .class的名称{}
        好处:可以多个标签归类,是同一个class,可以复用*/
        .qinjiang{
            color: antiquewhite;
        }
        .kuanghsen{
            color: blueviolet;
        }
    </style>
</head>
<body>
<h1 class="qinjiang">标题1</h1>
<h1 class="kuanghsen">标题2</h1>
<h1 class="qinjiang">标题3</h1>
</body>
</html>

ID选择器

全局唯一。 #id名{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    /*ID选择器格式    id必须保证全局唯一!
    #id名称{}
    优先级:不遵循就近原则
    id选择器>class选择器>标签选择器
     */
    #qinjiang{
        color: blue;
    }
    .style1{
        color: green;
    }
    h1{
        color: red;
    }
  </style>
</head>
<body>
<h1 id="qinjiang">标题1</h1>
<h1 class="style1">标题2</h1>
<h1 class="style1">标题3</h1>
<h1>标题4</h1>
<h1>标题5</h1>
</body>
</html>

优先级:不遵循就近原则 id选择器>class选择器>标签选择器

高级选择器

层次选择器

  1. 后代选择器:在某个元素的后面 祖爷爷 爷爷 爸爸 儿子

    /*后代选择器*/
    body p{
                background: red;
            }
    
  2. 子选择器:一代,儿子

     /*子选择器*/
            body>p{
                background: blueviolet;
            }
    
  3. 相邻兄弟选择器:同辈 只有一个,对下部对上

     /*相邻兄弟选择器*/
            .active+p{
                background: aquamarine;
            }
    
  4. 通用选择器:当前选中元素的向下所有兄弟元素

/*通用选择器*/ 
.active~p{
            background: #154eec;
        }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*p{
            background:green;
        }*/
        /*后代选择器*/
        /*body p{*/
        /*    background: red;*/
        /*}*/
        /*子选择器*/
        /*body>p{*/
        /*    background: blueviolet;*/
        /*}*/
        /*兄弟选择器*/
        /*.active+p{*/
        /*    background: aquamarine;*/
        /*}*/
        /*通用选择器*/
        .active~p{
            background: #154eec;
        }
    </style>
<body>
<p>p0</p>
<p class="active">p1</p>
<p>p2</p>
<p>p3</p>
<ul>
    <li>
        <p>p4</p>
    </li>
    <li>
        <p>p5</p>
    </li>
    <li>
        <p>p6</p>
    </li>
</ul>
</body>
</html>

结构伪类选择器

伪类:条件(带冒号)

  /*ul的第一个子元素*/
        ul li:first-child{
            background: blueviolet;
        }
        /*ul的最后一个子元素*/
        ul li:last-child{
            background: blue;
        }
/*选中p1:定位到父元素,选择当前的第一个元素
        选中当前p元素的父级元素,选中当前父级元素的第一个,并且的当前元素才生效,顺序*/
        p:nth-child(1){
            background: red;
        }
        /*选中父元素下的p元素的第二个,类型*/
        p:nth-of-type(2){
            background: green;
        }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*ul的第一个子元素*/
        ul li:first-child{
            background: blueviolet;
        }
        /*ul的最后一个子元素*/
        ul li:last-child{
            background: blue;
        }
        /*选中p1:定位到父元素,选择当前的第一个元素
        选中当前p元素的父级元素,选中当前父级元素的第一个,并且的当前元素才生效,顺序*/
        p:nth-child(1){
            background: red;
        }
        /*选中父元素下的p元素的第二个,类型*/
        p:nth-of-type(2){
            background: green;
        }
        a:hover{
            background: brown;
        }
    </style>
</head>
<body>
<a href="">321</a>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<ul>
  <li>l1</li>
  <li>l2</li>
  <li>l3</li>
</ul>
</body>
</html>

属性选择器(常用)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .demo a{
            float: left;
            display: block;
            height: 50px;
            width: 50px;
            border-radius: 10px;
            background: blueviolet;
            text-align: center;
            color: white;
            text-decoration: none;
            margin-right: 5px;
            font: bold 20px/50px Arial;
        }
        /*属性名: 属性名=属性值(正则)
        存在Id属性的元素
        属性选择器的格式 a[]{}
        */
      /*a[id]{*/
      /*    background: yellow;*/
      /*}*/
        /*id=first
        a[id=first]{
            background: green;
        }*/
        /*class中含有links的元素
        = 绝对等于
        *= 包含这个元素*/
        /*a[class*="links"]{*/
        /*    background: brown;*/
        /*}*/
        /*选中href中以http开头的元素
        ^= 以这个开头
        $= 以这个结尾*/
        a[href^=http]{
            background: aqua;
        }
        a[href$=jpg]{
            background:salmon;
        }
    </style>
</head>
<body>
<p class="demo">
    <a href="https://www.baidu.com" class="links item first" id="first">1</a>
    <a href="" class="links item active" target="_blank" title="text">2</a>
    <a href="images/123.html" class="links item ">3</a>
    <a href="images/123.png" class="links item ">4</a>
    <a href="images/123.jpg" class="links item ">5</a>
    <a href="abc" class="links item ">6</a>
    <a href="/a.pdf" class="links item ">7</a>
    <a href="/abc.pdf" class="links item ">8</a>
    <a href="abc.doc" class="links item ">9</a>
    <a href="abcd.doc" class="links item last">10</a>
</p>
</body>
</html>

美化网页元素

为什么要美化网页

  1. 有效的传递页面信息。
  2. 美化网页,页面漂亮才能吸引用户。
  3. 凸显页面的主题。
  4. 提高用户体验。

span标签

重点要突出的字,要使用span标签括起来。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style> #title1{
        font-size:50px;
    }</style>
</head>
<body>
欢迎学习<span id="title1">java</span>
</body>
</html>

字体样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--    font-family:字体-->
<!--    font-size:字体大小-->
<!--    font-weight:字体粗细
color: 字体颜色-->
    <style>
        body{
            font-family: "Arial Black" ,楷体;
            color: brown;
        }
        h1{
            font-size: 50px;
        }
        .p1{
            font-weight: bold;
        }
    </style>
</head>
<body>
<p class="p1">元注解的作用就是负责注解其他的注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对他annotation类型说明。</p>
<p>这些类型和他们所支持的类在java.lang.annotation包中可以找到。(@Target,@Retention,@Documented,@Inherited)</p>
<p>* SuppressWarnings("all")
    * @SuppressWarnings("unchecked")
    * @SuppressWarnings(value={"unchecked","deprecation"})</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--字体风格-->
    <style>
        p{
            font:oblique bolder 20px "楷体";
        }
    </style>
</head>
<body>
<p>元注解的作用就是负责注解其他的注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对他annotation类型说明。</p>
</body>
</html>

文本样式

  1. 颜色 color rgb rgba

  2. 文本对齐方式 text-align:center

  3. 首行缩进 text-indent: 2em

  4. 行高 line-height

  5. 装饰 text-decoration

  6. 文本图片水平对齐:vertical-align: middle

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--颜色:单词,RGB,RGBA(0-1)
text-align:排版
text-indent: 2em;首行缩进,一般两个字符
 line-height: 行高
 行高和块的高度一致就可以上下居中
 text-decoration: underline;下划线
 text-decoration: line-through;中划线
 text-decoration: overline;上划线
 a标签默认有下划线-->
    <style>
        h1{
            color:rgba(0,255,255,0.9);
            text-align:center;
        }
        .p1{
            text-indent: 2em;
        }
        .p3{
            background: #154eec;
            height: 300px;
            line-height: 300px;
        }
        .l1{
            text-decoration: underline;
        }
        .l2{
            text-decoration: line-through;
        }
        .l3{
            text-decoration: overline;
        }/*
        a标签去除下划线
        */
        a{
            text-decoration: none;
        }
    </style>
</head>
<body>
<a href="">123</a>
<p class="l1">12312312313</p>
<p class="l2">12312312313</p>
<p class="l3">12312312313</p>
<h1>故事介绍</h1>
<p class="p1">元注解的作用就是负责注解其他的注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对他annotation类型说明。</p>
<p class="p3"> 这些类型和他们所支持的类在java.lang.annotation包中可以找到。(@Target,@Retention,@Documented,@Inherited)</p>
<p>* SuppressWarnings("all")
    * @SuppressWarnings("unchecked")
    * @SuppressWarnings(value={"unchecked","deprecation"})</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--水平对齐:参照物 a,b-->
    <style>
        img,span{
            vertical-align: middle;
        }
    </style>
</head>
<body>
<p>
  <img src="images/43.png" alt="">
    <span>asdfghjkl</span>
</p>
</body>
</html>

阴影

/*text-shadow:阴影颜色,水平偏移 垂直偏移 阴影半径*/
    #price{
        text-shadow: blue 10px 10px 2px;
    }

超链接伪类

正常情况下: a,a:hover

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
/*默认的颜色
text-shadow:阴影颜色,水平偏移 垂直偏移 阴影半径*/
        a{
            text-decoration: none;
            color: black;
        }   /*鼠标悬浮的颜色*/
    a:hover{
       color: orange;
        font-size: 50px;
        }
    /*鼠标按住未释放的状态*/
    a:active{
        color: green;
    }
    a:visited{
        color: brown;
    }
    #price{
        text-shadow: blue 10px 10px 2px;
    }
    </style>
</head>
<body>
<a href="">
  <img  src="images/43.png" alt="">
</a>
<p>
    <a href="#">码出高效:Java开发手册</a>
</p>
<p>
    <a href="">作者:古今老师</a>
</p>
<p id="price">
    ¥:99
</p>
</body>
</html>

列表

#nav{
width:300px;
    background: cadetblue;
}
.title{
    font-size: 18px;
    font-weight: bold;
    text-indent: 1em;
    line-height: 35px;
    background: red;
}
/*ul li
list-style: none;去掉原点
circle:空心圆
decimal:有序列表
square:正方形
*/
ul{
    background: cadetblue;
}
ul li{
    height: 30px;
    list-style: none;
    text-indent: 1em;
}
a{
  text-decoration: none;
    font-size: 14px;
    color: black;
}
a:hover{
   color: orchid;
    text-decoration: underline;
}

背景

背景颜色

背景图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            width: 1000px;
            height: 700px;
            border: 1px solid red;
            background-image: url("images/43.png");
            /*默认是全部平铺的*/
        }
        .div1{
            background-repeat: repeat-x;
        }
        .div2{
            background-repeat: repeat-y;
        }
        .div3{
            background-repeat: no-repeat;
        }
    </style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
</body>
</html>
#nav{
width:300px;
    background: cadetblue;
}
.title{
    font-size: 18px;
    font-weight: bold;
    text-indent: 1em;
    line-height: 35px;
    background: red url("../images/43.png") 270px 10px no-repeat;
}
/*ul li
list-style: none;去掉原点
circle:空心圆
decimal:有序列表
square:正方形
*/
ul{
    background: cadetblue;
}
ul li{
    height: 30px;
    list-style: none;
    text-indent: 1em;
    background-image: url("../images/43.png");
    background-repeat: no-repeat;
    background-position: 200px 2px;
}
a{
  text-decoration: none;
    font-size: 14px;
    color: black;
}
a:hover{
   color: orchid;
    text-decoration: underline;
}

渐变

background-color: #FFFFFF;
background-image:linear-gradient(19deg,#21D4FD 0%,#B721FF 10%) ;

网站:https://www.grabient.com/

盒子模型

什么是盒子模型

margin:外边距

padding:内边距

border:边框

边框

   <style>
        /*body总有一个默认的外边距是 margin: 0*/
        /*body{*/
        /*    margin: 0;*/
        /*}*/
        /*border:粗细,样式,颜色*/
        #box{
            width: 300px;
            border: 1px solid red;
        }
        h2{
            font-size: 16px;
            background-color: green;
            line-height: 30px;
            margin: 0;
        }
        form{
            background-color: green;
        }
        div:nth-of-type(1)>input{
            border: 3px solid black;
        }
        div:nth-of-type(2)>input{
            border: 3px dashed palevioletred;
        }
        div:nth-of-type(3)>input{
            border: 3px solid orchid;
        }
    </style>

内外边距

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--外边距的妙用:居中
margin: 0 auto;-->
    <style>
        /*body总有一个默认的外边距是 margin: 0*/
        /*body{*/
        /*    margin: 0;*/
        /*}*/
        /*border:粗细,样式,颜色*/
        #box{
            width: 300px;
            border: 1px solid red;
            margin: 0 auto;
        }
        /*
        margin: 0 上下左右
        margin: 0 1px  上下  左右
        margin: 0 1px   2px上  左右 下
        margin: 0 1px   2px 3px 上  左 下 右
        */
        h2{
            font-size: 16px;
            background-color: green;
            line-height: 30px;
            margin: 0;
        }
        form{
            background-color: green;
        }
        div:nth-of-type(1)>input{
            border: 3px solid black;
        }
        div:nth-of-type(2)>input{
            border: 3px dashed palevioletred;
        }
        div:nth-of-type(3)>input{
            border: 3px solid orchid;
        }
        input{
            border: 1px solid black;
        }
        div:nth-of-type(1){
            padding: 10px;
        }
    </style>
</head>
<body>
<div id="box">
 <h2>会员登录</h2>
    <form action="#">
        <div>
            <span>姓名:</span>
            <input type="text">
        </div>
        <div>
            <span>密码:</span>
            <input type="text">
        </div>
        <div>
        <span>邮箱:</span>
        <input type="text">
    </div>
    </form>
</div>
</body>
</html>

盒子的计算方式,你这个元素到底多大?

margin+border+padding+内容宽度

圆角边框

4个角

<!--圆圈:圆角=半径-->
    <style>
        div{
            width: 100px;
            height: 100px;
            border: 10px solid forestgreen;
            border-radius: 10px 20px;
        }
    </style>
   <style>
/*<!--半圆-->*/
        div{
            width: 100px;
            height: 50px;
            margin: 30px;
            border: 10px solid forestgreen;
            border-radius: 50px 50px 0px 0px;
        }
    </style>

盒子阴影

<style>
        div{
            width: 100px;
            height: 100px;
            border: 10px solid green;
            box-shadow: 10px 10px 100px blueviolet;
        }
    </style>

浮动

标准文档流

块级元素:独占一行

h1-h6
p
div 
列表

行内元素:不独占一行

span a img strong

行内元素可以被包含在块级元素中,反之,则不可以

display

block,inline,inline-block

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--block:块元素
inline:行内元素
inline-block是块元素但是可以内联,在一行
-->
    <style>
        div{
            width: 100px;
            height: 100px;
            border: 1px solid green;
            display: inline;
        }
        span{
            width: 100px;
            height: 100px;
            border: 1px solid green;
            display: inline-block;
        }
    </style>
</head>
<body>
<div>div块元素</div>
<span>span行内元素</span>
</body>
</html>

这个也是一种实现行内元素排列的方式,但是我们很多情况都是用float

浮动

float

左右浮动

float:left;
float:right;

父级边框塌陷的问题

/*clear:right;右侧不允许有浮动
clear:left;左侧不允许有浮动
clear:both;两侧不允许有浮动
clear:none;*/

解决方案:

1. 增加父级元素的高度。

#father{
    border: 1px #000 solid;
    height: 800px;
}

2. 增加空的div,清除浮动

<div class="clear"></div>
.clear{
    clear:both;
    margin: 0;
    padding: 0;
}

3. overflow

在父级元素中增加一个overflow属性

#father{
    border: 1px #000 solid;
    overflow: hidden;
}

4. 父类添加一个伪类:after

#father:after{
    content: '';
    display: block;
    clear: both;
}

小结:

  1. 浮动元素后面增加空的div
    • 简单,代码中尽量避免空div
  2. 设置父元素的高度
    • 简单,元素假设有了固定的高度,就会被限制
  3. overflow
    • 简单,下拉的一些场景避免使用
  4. 在父类下添加伪类(推荐使用)
    • 写法稍微复杂一点,但是没有副作用,推荐使用。

对比

  • display

    方向不可以控制

  • float

    浮动起来的话会脱离标准文档流,所有要解决父级边框塌陷问题。

定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            margin: 10px;
            padding: 5px;
            font-size: 12px;
            line-height: 25px;
        }
        #father{
            border: 1px solid #666;
        }
        #first{
            background-color: #B721FF;
            border: 1px dashed #1443c5;
        }
        #second{
            background-color: blueviolet;
            border: 1px dashed #86e33a;
        }
        #third{
            background-color: violet;
            border: 1px dashed #3d0404;
        }
    </style>
</head>
<body>
<div id="father">
  <div id="first">第一个盒子</div>
  <div id="second">第二个盒子</div>
  <div id="third">第三个盒子</div>
</div>
</body>
</html>

相对定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--相对定位:相对于自己原来的位置进行偏移-->
  <style>
      body{
          padding: 20px;
      }
    div{
      margin: 10px;
      padding: 5px;
      font-size: 12px;
      line-height: 25px;
    }
    #father{
      border: 1px solid #666;
        padding: 0;
    }
    #first{
      background-color: #B721FF;
      border: 1px dashed #1443c5;
        position: relative;/*相对定位:上下左右*/
        top:-20px;
        left:20px;
    }
    #second{
      background-color: blueviolet;
      border: 1px dashed #86e33a;
    }
    #third{
      background-color: violet;
      border: 1px dashed #3d0404;
        position: relative;
        bottom: -10px;
        right: 20px;
    }
  </style>
</head>
<body>
<div id="father">
  <div id="first">第一个盒子</div>
  <div id="second">第二个盒子</div>
  <div id="third">第三个盒子</div>
</div>
</body>
</html>

相对定位: position: relative;

相对于原来的位置,进行指定的偏移,相对定位的话,它仍然在标准文档流中,原来的位置会保留。

top:-20px;
left:20px;
bottom: -10px;
right: 20px;

练习:链接卡

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 300px;
            height: 300px;
            padding: 10px;
            border: 2px solid red;
        }
        a{
            width: 100px;
            height: 100px;
            text-decoration: none;
            background-color: orchid;
            line-height: 100px;
            text-align: center;
            color: white;
            display: block;
        }
        a:hover{
            background:blue;
        }
        .a2,.a4{
         position: relative;
            left: 200px;
            top:-100px;
        }
        .a5{
         position: relative;
            left: 100px;
            top: -300px;
        }
    </style>
</head>
<body>
<div id="box">
    <a class="a1" href="#">链接1</a>
    <a class="a2" href="#">链接2</a>
    <a class="a3" href="#">链接3</a>
    <a class="a4" href="#">链接4</a>
    <a class="a5" href="#">链接5</a>
</div>
</body>
</html>

绝对定位

定位:基于XXX定位,上下左右

  1. 没有父级元素定位的前提下,相对于浏览器定位。

  2. 假设父级元素存在定位,我们通常会相对于父级元素进行偏移。

  3. 在父级元素范围内移动:相对于父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中,原来的位置不会被保留。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
      <style>
        div{
          margin: 10px;
          padding: 5px;
          font-size: 12px;
          line-height: 25px;
        }
        #father{
          border: 1px solid #666;
            padding: 0;
            position: relative;
        }
        #first{
          background-color: #B721FF;
          border: 1px dashed #1443c5;
        }
        #second{
          background-color: blueviolet;
          border: 1px dashed #86e33a;
        position: absolute;
            left: 100px;
        }
        #third{
          background-color: violet;
          border: 1px dashed #3d0404;
        }
      </style>
    </head>
    <body>
    <div id="father">
        <div id="first">第一个盒子</div>
        <div id="second">第二个盒子</div>
        <div id="third">第三个盒子</div>
    </div>
    </body>
    </html>
    

固定定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    body{
      height: 1000px;
    }
    div:nth-of-type(1){
        width: 100px;
        height: 100px;
        background:red;
        position: absolute;
        right: 0;
        bottom: 0;
    }
    div:nth-of-type(2){/*fixed:固定定位*/
        width: 50px;
        height: 50px;
        background: yellow;
        position: fixed;
        right: 0;
        bottom: 0;
    }
  </style>
</head>
<body>
<div>div1</div>
<div>div2</div>
</body>
</html>

z-index

图层

z-index:默认是0,最高不限制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
<div id="content">
  <ul>
    <li><img src="images/45.png" alt=""></li>
    <li class="tipText">学习微服务</li>
    <li class="tipBg"></li>
      <li>时间:2099-01-01</li>
      <li>地点:月球一号基地</li>
  </ul>
</div>
</body>
</html>
#content{
    width: 400px;
    padding: 0px;
    margin: 0px;
    overflow: hidden;
    font-size: 12px;
    line-height: 25px;
    border: 1px black solid;
}
ul,li{
    padding: 0px;
    margin: 0px;
    list-style: none;
}
/*父级元素相对定位*/
#content ul{
    position: relative;
}
.tipText,.tipBg{
    position: absolute;
    width: 400px;
    height: 25px;
    top:400px;
}
.tipText{
    color: white;
    z-index: 999;
    opacity: 0.5;/*背景透明度*/
}
.tipBg{
    background: #000;
    filter: alpha(opacity=50);
}

动画

标签:color,元素,height,background,border,选择器,CSS
From: https://www.cnblogs.com/sx-xiaoL/p/17494466.html

相关文章

  • 前端面试题(css)
    1.css选择器(1)简单选择器(元素,Id,类来选取元素,通配选择器)(2)组合选择器(根据它们之间的特定关系来选取元素)(3)伪类选择器(根据特定状态选取元素)(4)伪元素选择器(选取元素的一部分并设置其样式)(5)属性选择器(根据属性或属性值来选取元素)2.层叠顺序当为某个HTML元素指定了多个样式时,会使用哪种样......
  • [CSS 3] CSS Specificity
     Sohigherrankcsswilloverridelowerrankcssrules.Inlinestyleswilloverrideanyothercssrules. h1:not(.small-text)//0011-:notisnotcountedaspseudoclasselementdivh1:first-child//0012-2tags,1pseudo-classdivh1.larget-text::......
  • HTML&CSS&JavaScript思维导图
    ......
  • vue配置scss全局样式
    安装插件npminstallsass--save-dev在src文件夹下创建styles文件夹,并创建以下文件index.scss:scss的入口文件//引入清除默认样式@import'./reset.scss';reset.scss:清除样式文件/***ENGINE*v0.2|20150615*License:none(publicdomain)*/......
  • 图书馆管理系统代码源码(php+css+js+mysql) 完整的代码源码,系统使用B/S架构。
    图书馆管理系统代码源码(php+css+js+mysql)完整的代码源码,系统使用B/S架构。优化过的界面,拥有管理员和普通用户,普通用户可注册登录,管理员可登录,功能齐全。管理员可管理普通用户,增加其他管理员,增添图书,借还书操作,查看已还书。普通用户,可在线查看现有图书,和自己已借图书。推荐使用php......
  • 选题系统代码源码(php+css+js+mysql) 完整的代码源码,系统使用B/S架构。
    选题系统代码源码(php+css+js+mysql)完整的代码源码,系统使用B/S架构。优化过的界面,拥有管理员、审核员、教师和学生这四种身份登录方式和对应功能,功能齐全。推荐使用phpstudy+navicat搭建和管理项目!服务:提供现成代码,提供环境搭建相关文档。选题系统代码源码是一套完整的代码源码,采......
  • vue 学习第17天 CSS学习 ---- 浏览器私有前缀 + css3阶段总结
    浏览器私有前缀是为了兼容老版本的写法,比较新的浏览器无需添加1、私有前缀 2、提倡的写法(私有前缀+属性) 总结:CSS3学习的  五个大方面         ......
  • vue学习第18天 css --- 移动web开发 (单独/响应式、常见布局【单独:流式、flex、rem
    学习目标: 目录: 移动端基础 1、浏览器现状  2、手机屏幕现状 3、常见移动端屏幕尺寸查看地址: https://www.strerr.com/screen.html注:作为前端开发,不用纠结dp,dpi,pt,ppi等单位。 4、移动端调试方法 5、......
  • vue学习过程中 遇到的问题 CSS塌陷 ----- 高度塌陷和外边距塌陷
    1、高度塌陷原因:父元素没有设置高度,子元素设置浮动属性(float:left)之后,父元素的高度为0.***<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • vue学习第16天 CSS---3D转换 (translate3d 3d移动、3D旋转 rotate3d、transform-
    3D转换转换:1)3d移动 translate3d 2)3d旋转 rotate3d 3D的特点:1)近大远小2)物体后面遮挡不可见 3D转换:我们工作最常用的 3D位移 和 3D旋转 主要知识点: 1、三维坐标系(z轴,z外(屏幕)+,z内(屏幕)-)三维......