javaweb之CSS总结


学习前端抓好三门 HTML+CSS+JS

一、CSS简介

1、什么是CSS

CSS:Cascading Style Sheet 层叠样式表
是一组样式设置的规则,用于控制页面的外观样式

2、为什么使用CSS

实现内容与样式的分离,便于团队开发
样式复用,便于网站的后期维护
页面的精确控制,让页面更精美

3、CSS作用

页面外观美化
布局和定位

二、基本用法

1.语法

<head>
    <style>
        选择器{
            属性名:属性值;
            属性名:属性值;
        }
    </style>
</head>
  • 选择器:要修饰的对象(东西)
  • 属性名:修饰对象的哪一个属性(样式)
  • 属性值:样式的取值

注意:记得加分号 但是最后一个属性值后可以不加 但是便于规范 都加上分号 " ; "

演示:
在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">  
    <title>演示样例</title>
    <style>
        p {
            color: red;
            background: #cccccc;
        }
        h3 {
            color: aqua;
        }
    </style>
</head>
<body>
<p>演示CSS</p>
<h3>演示样例</h3>
</body>
</html>

2、CSS应用方式

也称为CSS引用方式,有三种方式:内部样式、行内样式、外部样式

2.1 内部样式

也称为内嵌样式,在页面头部通过style标签定义

对当前页面中所有符合样式选择器的标签都起作用

2.2 行内样式/内联样式

也称为嵌入样式,使用HTML标签的style属性定义

只对设置style属性的标签起作用

2.3 外部样式

使用单独的 .CSS 文件定义,然后在页面中使用 link标签@import指令 引入

href=“css样式文件的路径”

外部样式引用 有俩种方式

方法一:

<link>标签

使用 link标签 链接外部样式文件

<link rel="stylesheet" type="text/css" href="CSS样式文件的路径">

这里的type 可以省略 我的就省略了

方法二:

@import 指令 导入外部样式文件

<style>
	@import "CSS样式文件路径";
	@import url(CSS样式文件路径);
</style>

样例:
在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
        p {
            color: red;
            background: #cccccc;
        }
        h3 {
            color: aqua;
        }

    </style>
    <link rel="stylesheet" href="../../css+js/CSS/样式一.css">
</head>
<body>
<p>演示CSS</p>
<hr>
<h3>演示样例</h3>
<hr>
<h2>样式表一</h2>
</body>
</html>

css文件是

h2{
    color: blue;
}

三,选择器

选择题 说白了 就是为了方便

1、基础选择器

1.1 标签选择器

也称为元素选择器,使用HTML标签作为选择器的名称 以标签名作为样式应用的依据

 <style>
        p {
            color: red;
            background: #cccccc;
        }
        h3 {
            color: aqua;
        }
    </style>

这里的 p 标签和 h3 标签就是标签选择器

1.2 类选择器

使用自定义的名称,以 . 号作为前缀,然后再通过HTML标签的class属性调用类选择器

以标签的class属性作为样式应用的依据

注意事项:

  • 调用时不能添加 . 号
  • 同时调用多个类选择器时,以 空格 分隔
  • 类选择器名称不能以 数字 开头

让我来演示一手 举个梨子好吧

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
        p {
            color: red;
        }
        .one{
            color: blue;
        }
        .two {
            color: aqua;
        }
    </style>
</head>
<body>
<p>演示一</p>
<p class="one">演示二</p>
<p class="two">演示三</p>
</body>
</html>

这里值得一提的是 在引用类标签的时候 后面的才是为主的 就比如我的p标签一开始颜色是红 但是我有引用了 蓝色 然后结果是蓝色的。 相当于 覆盖 了 但 如果类标签没有的之前的 那就不能覆盖 怎么说呢 我感觉我说的有点混了 希望你们能懂!
在这里插入图片描述

1.3 ID选择器

通过 id 选择器给指定 id 的元素添加样式,网页中 HTML 标记的 id 属性的值,任何的HTML标签都可以有id属性,其值必须是唯一的
id 属性一般是给 JS 使用的,id 选择器的名称,必须以 “#” 开头
这个标签的 id 属性值的命名规则:

  • 只能有字母、数字、下划线
  • 必须以字母开头
  • 不能和标签同名;比如 id 不能叫做 body、img、a 等

一个HTML页面,不能出现相同的 id(id必须是唯一的),哪怕他们不是一个类型的标签,比如页面上有一个 id 为 myId 的 p标签,一个 id 为 myId 的 div 标签,是非法的!

来看梨子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
      
        #one{
            color: blue;
        }
        #two {
            color: aqua;
        }
    </style>
</head>
<body>
<p>演示一</p>
<p id="one">演示二</p>
<p id="two">演示三</p>
</body>
</html>

在这里插入图片描述

区别

  • id只能一对一
  • class 区别于id 可以多个标签 使用同一个属性
  • 标签选择器 没别的 就是麻烦…

2、复杂选择器

2.1选取所有元素

  • 选择器选择所有元素。
  • 选择器也可以选择另一个元素内的所有元素。

语法:

* 选择器名称 {
    属性名1:属性值1;
    属性名2:属性值2;
    ...
}

我想把所有标签的文字都改为红色

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
        p{
            color: blue;
        }
        *{
              color:red;
        }
    </style>
</head>
<body>
<p>演示一</p>
<h4>演示二</h4>
</body>
</html>

在这里插入图片描述
但是 这个只改了 h4标签的属性 p标签没有修改
所以 该选择器的目的 就是 修改没有修改属性的标签;

2.2 并集选择器

element,element 几个元素具有相同的样式,用逗号分隔每个元素的名称。 也是方便罢了
使用格式:

element1,element2 {
    属性名1:属性值1;
    属性名2:属性值2;
    ...
}

上例子 啊呸 上梨子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
  p,h3{
      color: red;
      background: aqua;
  }
    </style>
</head>
<body>
<p>演示一</p>
<h3>演示二</h3>
</body>
</html>

在这里插入图片描述

2.3 子选择器

这个 怎么说呢
大概意思就是 如果你只想改一部分的p标签 不是全部都改
那么你就有俩种方法
法一: 子选择器
法二:在你需要改的地方 行内修改
下面 我们来说一下子选择器

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
       div>p{      这里就是告诉他们  在div标签下的p标签改为这个样式 其余的不变
           background: antiquewhite;
           color: blue;
       }
        p{
            background: cadetblue;
            color: red;
        }
    </style>
</head>
<body>
<p>演示一</p>
<div>
    <p>
        演示二
    </p>
</div>
</body>
</html>

在这里插入图片描述

2.4 父选择器/后代选择器

这个应该也有喊 后代选择器的吧
标签之间 用空格分开

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
       div p{
           background: antiquewhite;
           color: blue;
       }
        p{
            background: cadetblue;
            color: red;
        }
    </style>
</head>
<body>
<p>演示一</p>
<div>
    <p>
        演示二</p>
    <p> 演示三</p>
</div>
</body>
</html>

在这里插入图片描述
然后你们发现 是不是一样的
其实我一开始也以为 然后试了好久
得出:
在这里插入图片描述
举例子 就是:

在这里插入图片描述

后代:
在这里插入图片描述
子选择器: 只能管一层
在这里插入图片描述

2.5 属性选择器

[attribute=value] 选择器用于选择指定了属性和值的元素。
使用格式:

元素名称[属性名="属性值"] {
    属性名1:属性值1;
    属性名2:属性值2;
    ...
}

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
        a[target=_blank]
        {
            background: aqua;
        }
    </style>
</head>
<body>
<a href="#" target="_top">演示一 </a>
<a href="#" target="_blank">演示二</a>
</body>
</html>

在这里插入图片描述

2.6 伪类选择器

这里用 :link 选择器为例

:link向未访问的链接添加特殊的样式。

注意: :link 选择器对已经访问的链接没有样式。

提示:
使用 :

  • visited 选择器设置访问过的页面链接的样式,
  • :hover选择器当有鼠标悬停在其上的链接样式,
  • :active 选择器设置当你点击链

使用格式:

元素:状态 {
    属性名1:属性值1;
    属性名2:属性值2;
    ...
}
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
        a:hover
        {
            background: aqua;
        }
    </style>
</head>
<body>
<a href="#" target="_top">演示一 </a>
<a href="#" target="_blank">演示二</a>
</body>
</html>

这里就是 当鼠标放在上面的时候 进行背景填充 因为截图 然后鼠标标识不见了。

在这里插入图片描述

四、常用CSS属性

1.字体属性

1.1 font-size

取值:

  • px像素 pixel
  • %百分比,相对父标签字体大小的百分比

html 默认16px

1.2 font-weight

取值:

  • normal普通(默认)
  • bold粗体
  • 自定义400 normal 700 bold

1.3 font-family

要求系统中要安装指定的字体

一般建议写3种字体:首选、其次、备用。以逗号隔开

1.4 font-style

取值:

  • normal普通
  • italic斜体

1.5 font 简写

简写属性:font:font-style|font-weight|font-size|font-family

必须按此顺序书写

说了这么多 来个梨子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>演示样例</title>
    <style>
       p{
           font-family: 宋体;
           font-size:25px;
           font-weight: bold;
           font-style: italic;
       }
        .one{
            font-family: 华文细黑;
            color: red;
        }
       .two{
          font-style: normal;
           font-weight: normal;
       }

    </style>
</head>
<body>
<p>演示一</p>
<p class="one"> 演示二  </p>
<p class="two">演示三</pc>
</body>
</html>

在这里插入图片描述

2.文本属性

在这里插入图片描述

color

取值,四种写法:

  1. 颜色名称:使用英文单词
  2. 16进制的RGB值:#RRGGBB // 不区分大小写
  3. rgb函数:rgb(red,green,blue) 取值范围[0-255]
  4. rgba函数:rbga(red,green,blue,alpha) 取值范围[0-255]

rgba可以设置透明度,alpha取值范围:[0,1] 0表示完全透明 1表示完全不透明
例如:
rgba(255,0,0,1)----->纯红
rgba(255,0,0,0.5)---->红色半透明

这里就不给大家一一演示了 用法和前面一样 只要添加属性 添加对应的属性值 就ok了

3.背景属性

在这里插入图片描述

3.1 background-color 背景颜色

好了 上梨子

取值:
transparent 透明

你需要什么背景再去修改对应的颜色

3.2 background-image 背景图片

  • 必须使用url()方式指定图片的路径
  • 如果是在css样式文件中使用相对路径,此时是相对于css文件,不是相对html文件

3.3 background-repeat 背景图片的重复方式

取值:repeat(默认),repeat-x,repeat-y,no-repeat

3.4 background-position 背景图片的显示位置

默认背景图显示在左上角

取值:

  • 关键字:top、bottom、left、right、center
  • 坐标:左上角为(0,0)坐标,向右为x正方向,向下为y正方向

原理:使用background-position进行背景定位,使用坐标精确地定位出背景图片的位置

3.5 background-attachment 背景图片是否跟随滚动

取值:scroll(默认)、fixed固定不动

3.6 background 简写

简写属性:
background:background-color|background-image|background-repeat|background-position

以空格隔开,书写顺序没有要求

例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        /* 		li{
                    list-style-type:decimal;
                } */
        .first{
            list-style-type:circle;
        }
        .second{
          <!-- list-style-image:url()inside;  里面放照片的url  因为我没有合适的照片 就没有放  -->
        }
        .third{
            list-style-type:circle;
            list-style-position:inside;
        }
        .fourth{
        <!--      list-style:circle url()inside; 同上 -->

            /* list-style:none; */
        }
        .nav{
            /* list-style:none;
            float:left; */
        }
        .nav li{
            list-style:none;
            float:left;
            width:70px;
        }
        </style>
</head>
<body>
<ul>
    <li class="first">hello</li>
    <li class="second">hello</li>
    <li class="third">hello</li>
    <li class="fourth">hello</li>
</ul>
<hr>
<nav>
    <ul class="nav">
        <li>新闻</li>
        <li>小说</li>
        <li>政治</li>
        <li>学习</li>
    </ul>
</nav>
</body>
</html>

在这里插入图片描述

4 边框

这个就是 border
分为四个方向:

上top、右right、下bottom、左left

border-top、border-right、border-bottom、border-left

五、盒子模型

盒子模型是网页布局的基础,将页面中所有元素都看作是一个盒子,盒子都包含以下几个属性:

  • width 宽度
  • height 高度
  • border 边框
  • padding 内边距
  • margin 外边距

2.1 border

表示盒子的边框

分为四个方向:

上top、右right、下bottom、左left
border-top、border-right、border-bottom、border-left
每个边框包含三种样式:

border-top-color、border-top-width、border-top-style
border-right-color、border-right-width、border-right-style
border-bottom-color、border-bottom-width、border-bottom-style
border-left-color、border-left-width、border-left-style

样式style的取值:

solid实线、dashed虚线、dotted点线、double双线、inset内嵌的3D线、outset外嵌的3D线

2.2 padding

表示盒子的内边距,即内容与边框之间的距离

同样也分为四个方向,也可以简写(按顺时针方向,默认上下一样,左右一样)

注意:如果上下冲突,则以上为准,如果左右冲突,则以左为准

2.3 margin

表示盒子的外边距,即盒子与盒子之间的距离

同样也分为四个方向,也可以简写(按顺时针方向,默认上下一样,左右一样)

浮动属性

通过float属性来实现元素的浮动,可以让块级元素脱离常规的文档流,向左或向右移动,在同一行显示,

如果一行显示不下,则会换行显示

常用取值:

  • left左浮动
  • right右浮动
  • none不浮动,默认值

设置float属性后,元素会浮在页面上层,此时父容器无法计算自己尺寸,如果我们还想显示父容器通常会在末尾添加一个清除了float属性的空的div来解决

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #container{
            /* width:800px; */
            border:1px solid #000000;
        }
        .div1,.div2,.div3,.div4{
            width:100px;
            height:50px;
        }
        .div1{
            background:red;
            float:left;
        }
        .div2{
            background:blue;
            float:left;
        }
        .div3{
            background:green;
            float:left;
        }
        .div4{
            background:cyan;
            float:left;
        }
        .clr{
            clear:left;
        }
    </style>
</head>
<body>
<div id="container">
    <div class="div1">div1</div>
    <div class="div2">div2</div>
    <div class="div3">div3</div>
    <div class="div4">div4</div>
    <div class="clr"></div>
</div>
aaa
</body>
</html>

在这里插入图片描述

今天 大概就介绍到这里 其实 最后面的 说得不是特别全 然后就可能让大家没有更好的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值