【狂神说】CSS3详解

简介: 【狂神说】CSS3详解

视频课程见链接:课程

如何学习

1、CSS是什么

2、CSS怎么用

3、CSS选择器(重点+难点)

4、美化网页(文字,阴影,超链接)

5、盒子模型

6、浮动

7、定位

8、网页动画(特效效果)

CSS概述

什么是CSS

CascadIng Style Sheet,层叠级联样式表

CSS:表现(美化网页)

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

CSS发展史

CSS1.0

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

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>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>我是标题</h1>
</body>
</html>

css/style.css

h1{
    color: red;
}

CSS优势:

1、内容和表现分离

2、网页结构表现统一,可以实现复用

3、样式十分的丰富

4、建议使用独立于HTML的css文件

5、利用SEO,容易被搜索引擎收录!

CSS的三种导入方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--行内样式:在标签元素中,编写一个style属性,编写样式即可-->
<h1 style="color: red">我是标题</h1>
</body>
</html>

优先级:行内样式>内部样式>外部样式

<!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>

导入式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>import导入外部样式</title>
    <!--css2.1特有  导入式-->
    <style>
        @import url("css/style.css");
    </style>
</head>
<body>
<h1>import导入外部样式</h1>
</body>
</html>

2 选择器

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

2.1 基本选择器

1、标签选择器:选择一类标签;标签{}

2、类选择器:选择所有class属性一致的标签,跨标签;.类名{}

3、id选择器:全局唯一;#id名{}

优先级:id>class>标签

标签选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*标签选择器:会选择到页面上所有的这个标签的元素*/
        h1{
            color: #a13d30;
            background: #3cbda6;
            border-radius: 24px;
        }
        p{
            font-size: 80px;
        }
    </style>
</head>
<body>
    <h1>学java</h1>
    <h1>学C++</h1>
    <p>看视频</p>
</body>
</html>

类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*类选择器的格式:.class的名称{}
        好处:可以多个标签归类,是同一个class,可以复用
        */
        .zdb {
            color: red;
        }
        .zzz {
            color: yellow;
        }
    </style>
</head>
<body>
<h1 class="zdb">标题一</h1>
<h1 class="zzz">标题二</h1>
<h1 class="zdb">标题三</h1>
<p class="zdb">p标签</p>
</body>
</html>

id选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*id选择器:id必须保证全局唯一,不能复用
          #id名称{}
          不遵循就近原则,固定的
          id选择器 > class选择器 > 标签选择器
        */
        #zdb{
            color: green;
        }
        .style1{
            color: yellow;
        }
        h1{
            color: red;
        }
    </style>
</head>
<body>
<h1 id="zdb">标题一</h1>
<h1 class="style1">标题二</h1>
<h1 class="style1">标题三</h1>
<h1>标题四</h1>
<h1>标题五</h1>
</body>
</html>

2.2 层次选择器

1、后代选择器:在某个元素的后面

2、子选择器

3、相邻兄弟选择器

4、通用选择器

后代选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*p{*/
        /*    background: green;*/
        /*}*/
        /*后代选择器*/
        body p{
            background: red;
        }
    </style>
</head>
<body>
<p>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>

/*子选择器*/
body>p{
    background: yellow;
}

/*向下相邻兄弟选择器*/
.active + p{
    background: aquamarine;
}

/*通用兄弟选择器:当前选中元素的向下的所有兄弟元素*/
        .active~p{
            background: blue;
        }

2.3 结构伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*ul的第一个子元素*/
        ul li:first-child{
            background: green;
        }
        /*ul的最后一个子元素*/
        ul li:last-child{
            background: red;
        }
    </style>
</head>
<body>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<ul>
    <li>li1</li>
    <li>li2</li>
    <li>li3</li>
</ul>
</body>
</html>

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

2.4 属性选择器(常用)

<!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: blue;
            text-align: center;
            color: gainsboro;
            text-decoration: none;
            margin-right: 5px;
            font: bold 20px/50px Arial;
        }
        /*属性名, 属性名 = 属性值(正则)*/
        /*
        =  绝对等于
        *= 包含这个元素
        ^= 以这个开头
        $= 以这个结尾
        */
        /*存在id属性的元素
        a[]{}
        */
        /*a[id]{*/
        /*    background: yellow;*/
        /*}*/
        /*id=first的元素*/
        /*a[id=first] {*/
        /*    background: red;*/
        /*}*/
        /*class中有links的元素*/
        /*a[class*="links"]{*/
        /*    background: yellow;*/
        /*}*/
        /*选中href中以http开头的元素*/
        /*a[href^=http]{*/
        /*    background: yellow;*/
        /*}*/
        a[href$=pdf]{
            background: yellow;
        }
    </style>
</head>
<body>
<p class="demo">
    <a href="http://www.baidu.com" class="links item first" id="first">1</a>
    <a href="" class="links item active" target="_blank" title="test">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>

3 美化网页元素

3.1 为什么要美化网页

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>

3.2 字体样式

<!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", "Adobe 黑体 Std R";
            color: blue;
        }
        h1{
            font-size: 50px;
        }
        .p1{
            font-weight: bold;
        }
    </style>
</head>
<body>
<h1>故事介绍</h1>
<p class="p1">《魁拔》是由北京青青树动漫科技有限公司于2011年开始推出的由王川执导的国产奇幻动画系列大电影。</p>
<p>作品围绕主人公蛮吉等人,讲述了在架空的世界——元泱界中,天地两界共同合力对抗每隔333年诞生的可怕异常生命——魁拔的故事。</p>
<p>How old are you</p>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <!--字体风格-->
  <style>
    p{
        font: oblique bolder 16px "楷体";
    }
  </style>
</head>
<body>
<p class="p1">《魁拔》是由北京青青树动漫科技有限公司于2011年开始推出的由王川执导的国产奇幻动画系列大电影。</p>
</body>
</html>

3.3 文本样式

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  0~F
        RGBA  A:0~1
    text-align: 排版,居中
    text-indent: 2em   段落首行缩进
    行高和块的高度一致,就可以上下居中
    -->
    <style>
        h1{
            /*color: #00FF00;*/
            color: rgba(0,255,255,0.5);
            text-align: center;
        }
        .p1{
            text-indent: 2em;
        }
        .p3{
            background: #2700ff;
            height: 300px;
            line-height: 300px;
        }
        /*上、中、下划线*/
        .l1{
            text-decoration: underline;
        }
        .l2{
            text-decoration: line-through;
        }
        .l3{
            text-decoration: overline;
        }
        /*超链接去下划线*/
        a{
            text-decoration: none;
        }
    </style>
</head>
<body>
<a href="">123</a>
<p class="l1">123123</p>
<p class="l2">123123</p>
<p class="l3">123123</p>
<h1>故事介绍</h1>
<p class="p1">《魁拔》是由北京青青树动漫科技有限公司于2011年开始推出的由王川执导的国产奇幻动画系列大电影。</p>
<p>作品围绕主人公蛮吉等人,讲述了在架空的世界——元泱界中,天地两界共同合力对抗每隔333年诞生的可怕异常生命——魁拔的故事。</p>
<p class="p3">How old are you</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/img.png" alt="">
    <span>asdasda</span>
</p>
</body>
</html>


目录
相关文章
|
2月前
|
前端开发 搜索推荐 SEO
【专栏:HTML 与 CSS 实践篇】使用 HTML 与 CSS 构建个人博客网站
【4月更文挑战第30天】本文介绍了使用HTML和CSS构建个性化个人博客网站的步骤。首先,规划设计网站主题、风格和结构;接着,利用HTML搭建首页、文章列表页和文章详情页的结构;然后,通过CSS设计整体风格、布局和交互效果;填充内容并进行SEO优化;最后,通过实际案例展示HTML和CSS的应用。构建博客网站不仅是展示自我和分享知识的平台,也是提升技能和创意实践的好机会。
|
2月前
|
编解码 前端开发 UED
【专栏:HTML与CSS实践篇】HTML与CSS在电商网站中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在电商网站中的关键作用。HTML作为基础结构,定义网页内容和布局,用于页面布局、内容展示和表单处理;而CSS则负责样式设计和美化,包括响应式设计、交互效果和模块化,两者结合创建出功能齐全、视觉吸引力强的在线购物环境,提升用户体验。
|
2月前
|
缓存 前端开发 JavaScript
CSS 选择器全攻略:从入门到精通(上)
CSS 选择器全攻略:从入门到精通(上)
CSS 选择器全攻略:从入门到精通(上)
|
12月前
|
前端开发 C++
前端web入门-CSS-day04
前端web入门-CSS-day04
前端web入门-CSS-day04
|
前端开发 容器
css 随笔
css 随笔
|
前端开发
纯HTML和CSS实现精美点赞效果
纯HTML和CSS实现点赞效果,动态效果由CSS实现,主要有两个动画实现 代码下面自取🖖
纯HTML和CSS实现精美点赞效果
|
数据采集 前端开发 数据库
《JavaWeb篇》05.HTML&CSS看这一篇就够了(二)
《JavaWeb篇》05.HTML&CSS看这一篇就够了(二)
120 0
《JavaWeb篇》05.HTML&CSS看这一篇就够了(二)
|
Web App开发 前端开发 开发者
CSS入门教程2
CSS入门教程2
111 0
CSS入门教程2
|
前端开发 数据可视化 安全
HTML、CSS温故而知新
HTML、CSS温故而知新
91 0
|
移动开发 前端开发 JavaScript
【Emmet —— HTML / CSS】 超实用开发技巧
【Emmet —— HTML / CSS】 超实用开发技巧
122 0
【Emmet —— HTML / CSS】 超实用开发技巧