Web学习日记Day02

选择器续

  1. 子孙后代选择器: 通过元素和元素之间的关系匹配元素

  • 格式: body div div p{样式代码} 匹配body里面的div里面的div里面的所有p(包括后代)

  1. 子元素选择器:通过元素和元素之间的关系匹配元素

  • 格式: body>div>div>p{样式代码}匹配body里面的div里面的div里面的p子元素(不包括后代)

  1. 伪类选择器: 此选择器选择的是元素的状态,元素状态包括: 未访问,访问过状态,悬停状态,点击/激活状态

  • 格式: a:link/visited/hover/active{样式代码}

通过内部样式实现以下效果

1.      关羽绿色

2.      张飞和苹果黄色

3.      文本框和所有水果背景红色

4.      p2字体粉色

5.      p2p3背景黄色

6.      腾讯官网未访问绿色,访问过红色

悬停黄色,点击粉色

颜色赋值

  • 三原色RGB RedGreenBlue , 每种颜色的取值范围0-255

  • 五种赋值方式:

    • 颜色单词赋值: red/green/blue/yellow/pink....

    • 6位16进制: #ff 00 00

    • 3位16进制: #f00

    • 3位10进制: rgb(255,0,0)

    • 4位10进制: rgba(255,0,0,0-1) a=alpha 透明度 值越小越透明

背景图片

  • background-image:url("路径") 设置背景图片

  • background-size:100px 200px; 设置背景图片尺寸

  • background-repeat: no-repeat; 禁止重复

  • background-position:200px 100px; 设置背景图片位置

  • background-position:50% 100%; 设置背景图片位置

文本和字体相关样式

  • text-align:left/right/center; 水平对齐方式

  • text-decoration:overline/underline/line-through/none; 文本修饰

  • line-height:20px; 设置行高

  • text-shadow:颜色 x偏移值 y偏移值 模糊度; 设置阴影

  • font-size:20px; 字体大小

  • font-weight:bold加粗/normal去掉加粗;

  • font-style:italic; 斜体

  • font-family:xxx,xxx,xxx; 设置字体

  • font: 20px xxx,xxx,xxx; 字体大小+字体设置

文本和字体相关练习

1. 刘德华 宽度100 高度30 绿色背景红色字体

 横向和纵向居中

2. 苹果和香蕉 字体大小25px 斜体 

3. 冰箱去掉加粗 蓝色阴影

方向是左下  浓度3

4. 洗衣机添加下划线

5. 百度去掉下划线字体加粗

字体大小20px

元素的显示方式display

  • block: 块级元素的默认值, 特点: 独占一行,可以修改宽高,包括: h1-h6,p, div

  • inline: 行内元素的默认值, 特点: 共占一行,不能修改宽高, 包括: span,b加粗,i斜体,u下划线,s删除线,a超链接等

  • inline-block:行内块元素的默认值, 特点:共占一行,并且可以修改宽高, 包括:input,img

  • none: 隐藏元素

  • 行内元素不能修宽高,如必须要修改则需要设置为block块级元素或inline-block行内块元素

盒子模型

  • 盒子模型= content内容+margin外边距+padding内边距+border边框

  • 作用: 控制元素的显示效果

    • content内容: 控制元素的显示大小

    • margin外边距: 控制元素的显示位置

    • padding内边距: 控制元素内容的位置

    • border边框: 控制元素的边框效果

盒子模型之Content内容

  • 通过width和height设置元素的内容大小

  • 两种赋值方式

    • 像素

    • 上级元素的百分比

  • 行内元素不能修改宽高,如必须要修改则需要设置为block块级元素或inline-block行内块元素

盒子模型之Margin外边距

  • 作用: 控制元素的显示位置

  • 赋值方式:

    • margin-left/right/top/bottom:10px; 单独某一个方向赋值

    • margin:20px; 四个方向赋值

    • margin:10px 20px; 上下和左右赋值

    • margin:10px 20px 30px 40px; 上右下左顺时针赋值

  • 行内元素上下外边距无效

  • 上下相邻彼此添加外边距 取最大值, 左右相邻 两者相加

  • 粘连问题: 当元素的上边缘和上级元素的上边缘重叠时,给元素添加上外边距会出现粘连问题,给上级元素添加overflow:hidden 解决

  • 部分标签自带外边距,比如: h1-h6内容标题, p段落标签, 列表标签,body

盒子模型之border边框

  • 作用: 控制元素边框的效果

  • 赋值方式:

    • border:粗细 样式 颜色; 四个方向添加边框

    • border-left/right/top/bottom:粗细 样式 颜色; 单独某一个方向添加边框

  • border-radius:10px; 设置圆角 值越大越圆, 超过宽高的一半时为正圆

盒子模型之padding内边距

  • 作用: 控制元素内容的位置

  • 赋值方式: 和外边距类似

    • padding-left/right/top/bottom:10px; 单独某个方向添加

    • padding:10px; 四个方向添加

    • padding:10px 20px; 上下和左右

    • padding:10px 20p 30px 40px; 上右下左顺时针添加

  • 给元素添加内边距会影响元素的宽高,box-sizing: border-box;给元素添加此样式后边框和内边距则不再影响宽高

  • 列表标签自带内边距

CSS的三大特性

  • 继承性: 元素可以继承上级元素文本和字体相关的样式, 部分标签自带效果不受继承影响,比如超链接字体颜色

  • 层叠性: 多个选择器可以选择同一个元素, 如果添加的样式不同,则全部层叠生效, 如果添加的样式相同则由优先级决定哪个生效

  • 优先级: 指选择器的优先级, 作用范围越小优先级越高

!important>id选择器>类选择器>标签名选择器>继承(因为继承属于间接选中)

1.选择器(续)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    body{
      /*通过继承可以将全局样式写在body里面,整个页面所有标签全部继承*/
      font-family: cursive;
    }
    #d1{
      color: red;
    }
    div{
      color: green !important;
    }
    p{color: blue;}
  </style>
</head>
<body>
<div id="d1">
  <p>这是p标签</p>
  <span>这是span</span>
  <a href="">超链接</a>
</div>
</body>
</html>

2.颜色与背景

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        h1{
            color: red;
            color: #00ff00;
            color: #00f;
            color: rgb(255,255,0);
            color: rgba(255,0,0,0.2);
        }
        #d1{
            width: 200px;
            height: 200px;
            background-color: purple;
            /*设置显示的背景图片*/
            background-image: url("../imgs/a.jpg");
            /*设置背景图片的尺寸: 宽 高*/
            background-size: 100px 100px;
            /*禁止重复*/
            background-repeat: no-repeat;
            /*控制位置:横向x  纵向y 通过像素偏移值*/
            background-position: 20px 50px;
            /*控制位置:横向x  纵向y 通过百分比*/
            background-position: 80% 80%;
        }
        #d2{
            width: 611px;
            height: 376px;
            background-color: #e8e8e8;
            background-image: url("http://doc.canglaoshi.org/tstore_v1/images/itemCat/study_computer_img1.png");
            background-repeat: no-repeat;
            background-size: 318px 319px;
            background-position: 90% 80%;
        }
    </style>
</head>
<body>
<div id="d2"></div>
<div id="d1">背景测试</div>
<h1>颜色测试</h1>
</body>
</html>

3.文本与字体

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            width: 200px;
            height: 40px;
            border: 1px solid red;
            /*文本水平对齐方式*/
            text-align: center;
            /*文本修饰 overline上划线,
            underline下划线,line-through删除线,none去掉文本修饰*/
            text-decoration: line-through;
            /*行高,控制行间距,如果只有单行文本可以实现垂直居中*/
            line-height: 40px;
            /*文本阴影:颜色 x偏移值 y偏移值 模糊度(值越小越清晰)*/
            text-shadow: green 5px 5px 5px;
            /*字体大小*/
            font-size: 20px;
            /*加粗*/
            font-weight: bold;
            /*设置字体*/
            font: 30px cursive;
        }
        a{text-decoration: none}
        h1{
            font-weight: normal;/*去掉加粗*/
            /*斜体*/
            font-style: italic;
            /*设置字体*/
            font-family: cursive;
        }
    </style>
</head>
<body>
<h1>这是h1</h1>
<a href="">超链接</a>
<div>文本和字体</div>
</body>
</html>

4.显示方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            /*块级元素 独占一行 可以修改宽高*/
            border: 1px solid red;
            width: 100px;
            height: 100px;
        }
        span{
            /*行内元素 共占一行 不能修改宽高*/
            border: 1px solid blue;
            width: 100px;
            height: 100px;
        }
        img{
            /*行内块元素 共占一行 可以修改宽高*/
            width: 100px;
            height: 100px;
        }
        a{
            background-color: #0aa1ed;
            width: 132px;
            height: 40px;
            /*如果行内元素需要修改宽高, 必须将显示方式改成block或inline-block*/
            display: block;
            text-align: center;
            line-height: 40px;
            color: white;
            text-decoration: none;
            font-size: 20px;
            border-radius: 3px;/*设置圆角,值越大越圆*/
        }
    </style>
</head>
<body>
<a href="">查看详情</a>
<img src="../imgs/a.jpg" alt="">
<img src="../imgs/a.jpg" alt="">
<img src="../imgs/a.jpg" alt="">
<div>div1</div>
<div>div2</div>
<div>div3</div>
<span>span1</span>
<span>span2</span>
<span>span3</span>
</body>
</html>

5.外边距

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    #d1{
      width: 100px;
      height: 100px;
      border:1px solid red;
      /*单独某个方向添加外边距*/
      /*margin-right: 100px;*/
      /*margin-top: 50px;*/
      /*四个方向添加外边距*/
      margin: 50px;
      /*上下和左右添加外边距*/
      margin: 100px 50px;
      /*上右下左 顺时针赋值*/
      margin: 10px 20px 30px 40px;
    }
    #d2{
      width: 100px;
      height: 100px;
      border: 1px solid red;
      /*上下相邻两个元素彼此添加外边距, 取最大值*/
      margin-top: 50px;
    }
    #s1{
      /*行内元素上下外边距 无效*/
      margin-right: 50px;
    }
    #s2{
      /*左右相邻彼此添加外边距 两者相加*/
      margin-left: 30px;
    }
  #big{
    width: 200px;
    height: 200px;
    background-color: green;
    /*解决粘连问题*/
    overflow: hidden;
  }
  #big>div{
    width: 50px;
    height: 50px;
    background-color: blue;
    margin-left: 50px;
    /*当元素的上边缘和上级元素的上边缘重叠时,给元素添加上外边距会出现粘连问题,
    给上级元素添加overflow:hidden解决*/
    margin-top: 50px;
  }
  body{
    margin: 0;
  }
  </style>
</head>
<body>
<h1>这是h1</h1>
<p>这是p</p>
<ul>
  <li>aaa</li>
  <li>bbb</li>
  <li>ccc</li>
</ul>
<div id="big">
  <div></div>
</div>
<span id="s1">span1</span><span id="s2">span2</span>
<div id="d1"></div>
<div id="d2"></div>
</body>
</html>

6.边框与内边距

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    #d1{
      width: 400px;
      height: 200px;
      border: 20px solid red;
      /*设置圆角,值越大越圆, 超过宽高一半为正圆(前提是正方形)*/
      border-radius: 200px;
    }
    #d2{
        width: 50px;
        height: 50px;
        border:1px solid red;
        /*给元素添加内边距会影响元素的显示宽高*/
        padding-left: 50px;
        padding-top: 50px;
    }
  </style>
</head>
<body>
<ul>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
</ul>
<div id="d2">内边距</div>
<!--div#d1   +tab    div.c1   +tab-->
<div id="d1">边框测试</div>
</body>
</html>

7.CSS三大特性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    body{
      /*通过继承可以将全局样式写在body里面,整个页面所有标签全部继承*/
      font-family: cursive;
    }
    #d1{
      color: red;
    }
    div{
      color: green !important;
    }
    p{color: blue;}
  </style>
</head>
<body>
<div id="d1">
  <p>这是p标签</p>
  <span>这是span</span>
  <a href="">超链接</a>
</div>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专注摸鱼的汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值