记录学习CSS day8(1.18)

目录

关于1.16 1.17代码的综合案例

选择器

后代选择器

子代选择器

并集选择器

交集选择器

伪类选择器

关于同时设置伪类样式:a:link和a:visited标签,a:link会被覆盖的问题

背景

background-color

background-image

background-repeat

background-position

background-attchment

相关代码以及成效


关于1.16 1.17代码的综合案例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body
    {
      background-color: #f5f5f5;
    }
    .wenben{
      margin:0 auto;
      width: 800px;
      height: auto;
    }
    /* 使整个文本盒子居中放置 */
    .tupian{
      margin:0 auto;
      width: 234px;
      height: 300px;
      background-color: #fff;
      text-align: center;
      /* 盒子中的内容居中放置 */
    }
    /* 使整个图片盒子居中放置 */
    .blue{
      color: #33fff3;
    }
    .grey{
      color:#cccccc
    }
    .docoration{
      text-decoration: none;
    }
    /* 去除下划线 */
    .center{
      text-align: center;
    }
    /* 满足部分文本居中放置 */
    .indent{
      text-indent: 2em;
    }
    /* 缩进 */
    img{
      width:160px ;
      margin: 0 auto;
    }
    .size1{
      font-size: 14px;
      line-height: 25px;
    }
    .size2{
      font: 12px/30px 微软雅黑;
      color: #cccccc;
    }
    .size3{
      font-size: 14px;
      color: #ffa500;
    }
  </style>
</head>
<body>
  <div class="wenben">
    <h1 class="center">CSS 基础</h1>
    <hr>
    <p class="center">
    <span class="grey">
      转载自MDN
    </span>
      <a href="#" class="docoration">
      收藏本文
      </a>
    </span>
    <p class="indent">层叠样式表(Cascading Style Sheet,简称:CSS)是为网页添加样式的代码。本节将介绍 CSS 的基础知识,并解答类似问题:怎样将文本设置为黑色或红色?怎样将内容显示在屏幕的特定位置?怎样用背景图片或颜色来装饰网页?</p>
    <p class="indent">和 HTML 类似,CSS 也不是真正的编程语言,甚至不是标记语言。它是一门样式表语言,这也就是说人们可以用它来选择性地为 HTML 元素添加样式</p>
  </div>
  <div class="tupian">
    <img src="./实验案例.png" title="Redmi 12C 案例来自小米商城">
    <div class="size1">Redmi 12C</div>
    <div class="size2">高性能长续航,5000万像素超清双摄</div>
    <div class="size3">699元起</div>
  </div>
</body>

</html>

 (图片是按照小米官网做的)

选择器

后代选择器

用来选择元素或元素组的后代,把外层标签写在前面,内层标签写在后面,中间用空格分隔

格式:标签1 标签2{属性1:值1 属性值2:值2}

<html>

<head>
  <style>
    div a {
      color: red;
    }
  </style>
</head>

<body>
  <div>
    <a href="#">这个链接是红色的</a>
    <p>
      <a href="#">这个链接也是红色的,这就是子代选择器的作用</a>
    </p>
  </div>
</body>

</html>

子代选择器

用来选择作为某元素子元素的元素,将父级标签写在前面,子级标签写在后面,用大于号连接

格式:父标签>子标签{属性1:值1 属性值2:值2}

<html>

<head>
  <style>
    div>a {
      color: red;
    }
  </style>
</head>

<body>
  <div>
    <a href="#">这个链接是红色的</a>
    <p>
      <a href="#">这个链接不是红色的,这就是子代选择器与后代选择器的区别</a>
    </p>
  </div>
</body>

</html>

并集选择器

用来同时设置多种标签,设置相同样式,将选择器之间用,隔开,为了美观,我们经历在每一个并集选择器中的选择器之间换行书写。

格式:选择器1,选择器2{属性1:值1 属性值2:值2}

<html>

<head>
  <style>
    span,
    h1,
    h2,
    h3,
    .red {
      color: red;
    }
  </style>
</head>

<body>
  <div>
    <span>均为红色标签</span>
    <h1>均为红色标签</h1>
    <h2>均为红色标签</h2>
    <h3>均为红色标签</h3>
    <a href="#" class="red">此为红色链接</a>
    <br><br>
    这就是并集选择器作用
  </div>
</body>

</html>

交集选择器

用设置页面中同时免租多个选择器的标签

格式:选择器1选择器2{属性1:值1 属性值2:值2}

注:

交集选择器中的选择器没有间隔

如果交集选择器中含有标签选择器,标签选择器必须写在最前面

<html>

<head>
  <style>
    p.red{
      color: #ff0000;
    }
  </style>
</head>

<body>
  <div>
    <p>这段不是红色文字</p>
    <h1 class="red">这段也不是红色文字</h1>
    <p class="red">这段才是红色文字</p>
  </div>
</body>

</html>

伪类选择器

用于向某些选择器添加特殊的效果,在选择器后面加上:,配合其他标签使用

  1. :link : 未访问的链接,可以为普通或未访问的链接设置样式
  2. :visited : 已访问的链接,可以为已经访问过的链接设置样式
  3. :hover :鼠标移动到链接上,可以定义当鼠标经过或悬停在链接上时的样式
  4. :active : 选定的链接 ,可以定义点击链接时的样式

浏览器默认情况:

  • 普通链接:带有下划线的蓝色文本;
  • 已访问的链接:带有下划线的紫色文本;
  • 点击链接时:带有下划线的红色文本;
  • 经过或悬停在链接上时:链接的外观并没有变化,它将保持先前状态的颜色。

<!DOCTYPE html>
<html>
<head>
    <style>
        a {
            text-decoration: none;
        }
        a:link {
            margin-left: 10px;
            background: #ccc;
            color: black;
        }
        a:visited {
            background: #FFFF99;
            color: red;
        }
        a:hover {
            background: #9c6ae1;
            color: black;
        }
        a:active {
            background: #000;
            color: white;
        }
    </style>
</head>
<body>
    <a href="https://www.baidu.com/" target="_blank">跳转至百度</a>
    <br><br>
    <a href="https://www.baidu.com/" target="_blank">跳转至百度</a>
    <br><br>
    <a href="">这是一个链接</a>
    <br><br>
    <a href="">这也是一个链接</a>
    <br><br>
</body>
</html>

第一、两张图片第二个“跳转至百度”是鼠标悬停的位置,是:hover的作用

第三张图片第一个“跳转至百度”是鼠标点击后的样式,是:active的作用

关于同时设置伪类样式:a:link和a:visited标签,a:link会被覆盖的问题

观察上述图片可以发现,我第一张图片跳转百度的颜色是默认灰色的,而第二张图片的默认背景是

黄色的,是因为在第一张图片时我没有进入过百度的链接,所以默认是为访问的链接,是:link属性

值影响,而在第二张时,我已经访问过了百度,所以是:visited属性值影响

观察可知空链接始终是黄色背景,注意:

正确书写链接地址时,a:link有效

未正确书写链接地址时,a:link无效,效果为:visited样式

背景

background-color

设置背景颜色,设置颜色方法有关键字,rgb表示法,bgra表示法,16进制表示法

background-image

设置背景图片,给盒子起到装饰效果

格式:background-image: url(图片的路径) / none;

background-repeat

设置图片平铺方式,给盒子起到装饰效果,设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素

属性值:

  • repeat:水平和垂直方向都平铺(默认值)
  • no-repeat:不平铺
  • repeat-x:沿着水平方向平铺
  • repeat-y:沿着垂直方向平铺

格式:background-repeat : repeat/no-repeat/repeat-x / repeat-y 

background-position

设置对象的背景图像位置。但是必须先指定background-image属性。默认值为:(0% 0%)。如果

只指定了一个值,该值将用于横坐标,纵坐标将默认为50%,设置的第二个值将用于纵坐标。

格式:background-position : position position 

注:position 后面是x坐标和y坐标,可以使用方位名词或者精确单位

方位名词:

  • y轴方向:top  center  bottom  
  • x轴方向:left  center  right

background-attchment

设置背景附着,规定背景固定或者滚动

格式:background-attachment : scroll/fixed 

scroll :  背景图像是随对象内容滚动

fixed :  背景图像固定

相关代码以及成效

<!DOCTYPE html>
<html>

<head>
    <style>
         div.position1 {
            width: 192px;
            height: 192px;
            background-color: aqua;
            background-image: url(./图片1.gif);
        }
        div.position2 {
            position: absolute;
            top: 300px;
            width: 192px;
            height: 192px;
            background-color: aqua;
            background-image: url(./图片1.gif);
            background-repeat: repeat-x;
            background-position: 0px 50px;
        }
    </style>
</head>

<body>
    <div class="position1"></div>
    <div class="position2"></div>
</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值