CSS基础

基本概念

CSS(Cascading Style Sheet)级联样式表,用来控制页面布局与页面样式

比如可以修改颜色、大小、位置、层级、动画等等

CSS 的三种位置

   CSS 行内样式

   写在 HTML 元素的开始标签里,只对当前行生效

   特点:只能给一个元素使用,复用性差

<h4 style="color:red;">我是标题</h4>
  1. CSS 内部样式

写在 head 标签中的 style 标签里,对当前页面所有元素生效

特点:随着当前页面加载而加载,加载速度快,首页常用

<head>
  <style>
     /* 标签名选择器 */
     h1 {
          color:red;
        }
  </style>
</head>
  1. CSS 外部样式

写在独立的.css 文件中,在html 文件中引入外部的.css 文件

  • rel:必写属性,表示引入文件是什么类型 stylesheet 样式表

  • href:要引入 CSS 文件的路径

特点:可以被多个页面共享,复用性强,常用于二三级页面

<html>
        <head>
                <link rel="stylesheet" href="01.css">
        </head>
</html>

   CSS优先级

  • 渲染同一个元素,样式不同会叠加生效,比如背景色和文字颜色会同时生效

  • 如果渲染的样式相同,按照如下优先级排序:

  • !important > 行内样式>(内部样式=外部样式)>浏览器自带的样式

  • 内部样式与外部样式优先级一样,后写的样式会把之前的样式覆盖掉

  • <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS优先级</title>
        <!-- 2.内部样式 对当前页面上所有被选中的元素生效 -->
        <style>
            h2 {
                color: green;
            }
        </style>
        <!-- 3.外部样式 可以被多个页面引入-->
        <link rel="stylesheet" href="01.css">
    </head>
    <body>
        <h2 style="color: red;">CSS优先级</h2>
    </body>
    </html>
/*外部的01.css文件*/
h2 {
    color: blue;
}

 

  1.   常用选择器速查

  • 标签名选择器:选中指定标签的所有元素,写法: 标签名 { CSS 样式 }

  • 类选择器:选中指定的一类元素,写法: .class值 { CSS 样式 }

  • id 选择器:选中指定的一个元素,写法: #id值 { CSS 样式 }

  • 伪类选择器

    • 选中超链接未被访问时时的状态,写法:a:link{ CSS 样式 }

    • 选中超链接已被访问时的状态,写法:a:visited{ CSS 样式 }

    • 选中元素的悬停状态(非超链接独有),写法: div:hover{ CSS 样式 }

    • 选中超链接激活时的状态,写法:a:active{ CSS 样式 }

    • 注意:a 标签伪类的顺序: :link :visited :hover :active

  • 群组选择器:选中多种不同的元素,写法: #id 值.class 值标签名{ CSS 样式 }

  • 通用选择器:选中所有元素,写法: *{ CSS 样式 }

  • 属性选择器:选中指定属性与属性值的元素,写法: [type="text"]{ CSS 样式 }

  • 后代选择器:选中祖先元素中包含的所有后代元素,写法: div span{ CSS 样式 }

  • 子代选择器:选中父元素中下的直接子元素,写法: div>span{ CSS 样式 }

  • <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS选择器</title>
        <style>
            /* 标签名选择器 */
            h4 {
                color: red;
            }
            div {
                width: 120px;
                height: 120px;
                background-color: cyan;
            }
            /* id选择器 */
            #d2 {
                color: red;
            }
            /* 类选择器 */
            .error {
                background-color: red;
            }
            .success {
                background-color: green;
            }
            .msg {
                color: white;
            }
            /* 伪类选择器 :hover选中元素的悬停状态*/
            /* 紧挨着写 #d2与:hover 是与的关系,只有同时满足才可以被选中 */
            #d2:hover {
                background-color: pink;
            }
            /*群组选择器 只要满足其中一个,就可以被选中*/
            #d2,h4,.error {
                text-decoration: underline;
            }
            /* 通配选择器 匹配所有元素*/
            * {
                font-style: italic;
            }
            a:link { /* 选中超链接未被访问过的状态 */
                color: gray;
            }
            a:visited { /* 选中超链接已经被访问过的状态 */
                color: green;
            }
            a:hover { /* 选中元素悬停时的状态(不是超链接独有的) */
                color: red;
            }
            a:active { /* 选中超链接激活时的状态 */
                color: orange;
            }
            /* 属性选择器 */
            input[type="text"] {
                background-color: yellow;
            }
            /* 后代选择器 选中包含在内的所有后代元素 子元素 孙元素...*/
            #d1 span {
                background-color: magenta;
            }
            /* 子代选择器 大于号,选中本元素的直接子元素 可以逐级向下写多层  */
            #d1>div>span {
                color: yellow;
            }
        </style>
    </head>
    <body>
        <h4>我是标题</h4>
        <p>我是段落</p>
        <a href="#">我是超链接</a>
        <h4>我是标题</h4>
        <div>我是div1</div>
        <div id="d2">我是div2</div>
        <div>我是div3</div>
        <hr>
        <span class="error msg">用户名已被占用</span>
        <span class="error msg">操作失败</span>
        <br>
        <span class="success msg">有效的手机号</span>
        <span class="success msg>新增成功</span>
        <hr>
        <a href="https://www.baidu.com">百度首页</a>
        <a href="abc">错误地址</a>
        <hr>
        <input type="text">
        <input type="password">
        <hr>
        <div id="d1">
            <span>1</span>
            <div>
                <span>2</span>
                <b>测试</b>
            </div>
            <span>3</span>
        </div>
    </body>
    </html>

  •   CSS 常用值

  • px:像素,屏幕上最小的一个发光点

  • 颜色表示法:

    1. 单词表示,如:red

    2. 十六进制表示法,如:color:#0000FF

      • 前两位表示红色,中间两位表示绿色,最后两位表示蓝色

    3. 简写的十六进制表示法,如:color:#00F

      • 三种颜色两位数字都相同,才可以简写

    4. rgb(red,green,blue)表示法,如:color:rgb(0,0,255)

      • 值的范围是 0~255

    5. rgba(red,green, blue,alpha)表示法,如:color:rgba(0,0,255,0.5)

      • 不透明度,0 表示完全透明,1 表示完全不透明

 

 

  1. 背景图处理

背景颜色:background-color:#fff;

  • 颜色可以使用任何的色值(十六进制 rgb rgba 单词等) 背景颜色会在元素的最底层

背景图片插入:background-image:url(路径);

  • 注意:背景图和 img 标签的图片插入是有区别的!

  • img 标签插入的图片在默认情况下直接就能显示图片

  • 背景图必须给所在元素设置宽高才能显示出来

图片重复问题:background-repeat

  • 图片被平铺到元素中会出现两种情况:

  • 图片大于元素,图片显示不全

  • 图片小于元素,会重复,哪个方向有空余空间,就向哪个方向重复

  • background-repeat: no-repeat; 背景图仅显示一次,不重复

  • background-repeat: repeat; 默认值,X-Y 轴都重复

  • background-repeat: repeat-x; 仅在 X 轴(水平方向)重复

  • background-repeat: repeat-y; 仅在 Y 轴(垂直方向)重复

背景图尺寸:background-size

  • 没有设置任何尺寸时,默认使用图片本身的大小

  • 设置尺寸时,值 1 是背景图的宽度,值 2 是背景图的高度

  • background-size: 600px 300px;

  • background-size: 100% 100%;

  • 注意:图片比例要合适,否则会尺寸失真

background-position:left top; 默认值(左上)

  • 第一个值表示水平方向 第二个值表示垂直方向

  • X 轴(水平方向)的值:left 左 center 中 right 右

  • Y 轴(竖直方向)的值:top 上 center 中 bottom 下

  • center center 表示水平与竖直方向均居中,可以简写成一个 center

  • 还可以写像素值,原点(0px 0px)就是左上角

  • 正值向右/向下移动;负值向左/向上移动

background-image: linear-gradient(270deg,red,blue);

  • 线型渐变

  • 可以设置多种渐变的颜色,使用逗号分隔

  • 默认的角度是水平的,可以不加角度值

  • 如果加了角度值,单位是deg,且角度值必须写在第一个位置

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS常用值</title>
    <style>
        h1 {
            color:red;
            color: rgb(255,0,0);
            color: rgb(0,255,255);
            color: rgb(0,255,0);
            color: rgb(255,0,255);
            color: rgb(0,0,255);
            color: rgb(255,255,0);
            color: #FFFFFF;
            color: #FFF;
            color: #000000;
            color: #000;
            color: #808080;/*不能简写!*/

            /* 带不透明度颜色 1完全不透明 0完全透明 0.x半透明 */
            color: rgba(255,0,0,0.8);
            color: rgba(255,0,0,0.6);
            color: rgba(255,0,0,.4);
            color: rgba(255,0,0,.2);
            color: rgba(255,0,0,0);
            color: rgba(255,0,0,1);
        }
        /* 块级元素的默认宽度为父级宽度的100%,高度为0靠内容撑起来 */
        .d1 {
            /*注意:插入背景图必须设置所在区域的大小!*/
            width: 50px;
            height: 100px;
            background-image: url(img/mr.png);
            /* 调整背景图大小 宽度 高度 */
            background-size: 50px 100px;
            /* 可以同时显示背景色 没图的地方显示背景色 */
            background-color: cyan;
        }
        /*  500*300 5像素的红色边框 插入鸣人背景图 */
        .d2 {
            width: 500px;
            height: 300px;
            border: 5px solid #f00;
            background-image: url(img/mr.png);
            /* 设置背景图不允许重复 */
            background-repeat: no-repeat;
            background-position: 0 0;/* 原点是左上角 */
            background-position: -50px 0;/*向左*/
            background-position: 0 50px;/*向下*/
            background-position: -50px -50px;/*左上*/
            background-position:center;
            background-position:50% 50%;
            background-position:100% 100%;/*右下角*/
        }
        .d3 {
            width: 500px;
            height: 300px;
            /* 线型渐变 角度值 颜色1 颜色2...*/
            background-image: linear-gradient(270deg,red,blue);
        }
    </style>
</head>
<body>
    <h1>测试颜色</h1>
    <!-- .d*3 Tab补全-->
    <div class="d1"></div>
    <div class="d2"></div>
    <div class="d3"></div>
</body>
</html>

 

  1. 字体处理

color: 设置文字颜色

font-size :设置文字的大小

  • 谷歌浏览器默认字体大小 16px,最小 12px,低于 12px 也以 12px 显示

font-family: “幼圆”; 设置文字字体

  • 执行顺序是从前向后执行的

  • 字体名称要使用引号包裹

  • 商用字体要考虑到版权问题

  • 尽量少用奇怪的字体,因为客户可能会没有

字体文件在电脑 C 盘的“Fonts”文件夹中

打开“计算机”->C 盘-> “Windows”-> “Fonts”即可看到所有已安装的字体

text-decoration :设置文本修饰线

  • underline 下划线

  • none 去掉所有修饰线

  • line-through 添加一条删除线

line-height:设置文本行高

  • 称为行间距,指的是行与行文本之间的距离

  • 如果需要单行文字在元素内垂直居中,可以让行高为元素的高度即可

text-align :设置块级元素内文本的水平对齐方式

  • 对齐方式:left 左对齐 / center 居中对齐 / right 右对齐

text-shadow: 20px 20px 5px red;

  • 文本阴影:X 轴偏移量 Y 轴偏移量 羽化值 阴影颜色

font-weight :字重(字体粗细),可取值:

  • normal 400 正常体

  • lighter 300 细体

  • bold 600 粗体

font-style: italic; 文字倾斜效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文字处理</title>
    <style>
        p {
            /*文字大小 谷歌浏览器默认的字号是16px 最小字号12px*/
            font-size: 30px;
            /*字体 可以设置多个*/
            font-family: "幼圆uuuu","宋体";
        }
        a {
            /*文本修饰线*/
            text-decoration: none; /*去除修饰线*/
            text-decoration: line-through;/*删除线*/
            text-decoration: underline;/*下划线*/
            text-decoration: overline;/*顶部线*/
        }
        div {
            width: 200px;
            height: 200px;
            border: 5px solid #00f;
            /*文字水平对齐方式:居中*/
            text-align: center;
            /*行高:设置行与行之间的距离
            如果单行文字的行高与div一样高,可以设置文字垂直居中效果*/
            line-height: 200px;
        }
        h1 {
            /*字体字重*/
            font-weight: bold;/*加粗*/
            font-weight: normal;/*正常体*/
            font-weight: lighter;/*细体*/
            font-style: italic;/*字体样式:斜体*/
        }
        span {
            /*文本阴影:X轴偏移量 Y轴偏移量 羽化值 阴影颜色
            水平方向:正数向右 负数向左
            垂直方向:正数向下 负数向上
            羽化值:数值越大,阴影越模糊*/
            text-shadow: 20px -50px 2px red;
        }
    </style>
</head>
<body>
  <p>我是测试文字 123 ABC abc</p>
  <a href="#">超链接</a>
  <div>
      测试文字
  </div>
  <span>测试文字</span>
  <h1>标题字</h1>
</body>
</html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值