当前位置: 首页 > news >正文

HTML第二课——css【2】

请关注公众号:自动化测试实战

现在继续上一节课的内容,看下面代码:

<!DOCTYPE html>
<html>
<head>    <meta charset="utf-8">    <title>Css</title>    <meta name="keywords" content="key1, key2">    <meta name="description" content="">    <!--    <style type="text/css">        /*            css的注释写法        */        div{            border: 1px solid red;            display: inline;        }    </style> -->    <link rel="stylesheet" type="text/css" href="css/index.css"></head><body>    <!-- 这是注释 -->    <!--通过css改变文字颜色:color属性 -->    <div>这是一个div标签</div>    <div>这是第二个div标签</div>
</body>
</html>

index.css

div{
   font-family: 'Microsoft Yahei';    
   font-size: 20px;    
   border: 1px solid red;    
   display: inline;
}

        上面代码中有两个div标签,而在css样式表中只有一个样式文件,那么此时是不是两个div标签都使用同一个样式呢?大家看了以后就知道,答案是肯定的。那么我们现在想让两个div样式不一样,该怎么写呢?此时我们就需要对两个div有所区分,上面css文件中选择器叫做标签选择器,所以只要是div标签都会适用于对应的样式。现在要区别设置,就涉及到标签选择器了:

  • id选择器

 

        所有的可视化基本都有id属性,id英文全名为identity意为唯一标识,所以id值必须是唯一的。而且id命名规范为由数字、字母、下划线组成,且不能用数字开头。起名字要用驼峰命名法,比如:myDivmyDivSpan

<!DOCTYPE html>
<html>
<head>    <meta charset="utf-8">    <title>Css</title>    <meta name="keywords" content="key1, key2">    <meta name="description" content="">    <!--    <style type="text/css">        /*            css的注释写法        */        div{            border: 1px solid red;            display: inline;        }    </style> -->    <link rel="stylesheet" type="text/css" href="css/index.css"></head><body>    <!-- 这是注释 -->    <!--通过css改变文字颜色:color属性 -->    <div id="myDiv1">这是一个div标签</div>    <div id="myDiv2">这是第二个div标签</div>
</body>
</html>

        上面id已经写好,我们现在来css文件中修改代码,如果你看过之前的xpath写法,那你就一定记得xpath中id用#来表示,css文件中也一样——.代表class#代表id

/*
这是css注释
*/

#myDiv1{
   background-color: #000000;    
   color:#ffffff;    
   display: block;    
   border: solid purple;
}

#myDiv2{
   background-color: #ff0000;    
   color:#fff;    
   border: solid green;
}

页面显示:

 

  • class选择器

 

class就不是唯一的了,这就是为什么在selenium中有find_elements_by_class_name()的原因了。如上所说,用.表示class

/*
这是css注释
div{
    font-family: 'Microsoft Yahei';
    font-size: 20px;
    border: 1px solid red;
    display: inline;
}
*/

#myDiv1{
   background-color: #000000;    
   color:#ffffff;    
   display: block;    
   border: solid purple;
}

#myDiv2{
   background-color: #ff0000;    
   color:#fff;    
   border: solid green;
}

.myClass{
   background-color: pink;
}

页面显示:

背景色有长有短的问题先不用管,下一篇会讲。

 

你也可以在div标签下增加class属性,然后设置它的背景色,但如果divid标签设置了背景色,那么会优先选择你在id下设置的背景色:

<div id="myDiv1" class="myClass">这是一个div标签</div>

显示和上图一样。所以id选择器优先级要高于class选择器。

  • 混合选择器

 

先说明一下,以后我们要用混合选择器,用混合选择器,用混合选择器。

 

混合选择器就是标签选择器+类选择器

下面代码中的div.myClass意为class是myClass的div标签

/*
这是css注释
div{
    font-family: 'Microsoft Yahei';
    font-size: 20px;
    border: 1px solid red;
    display: inline;
}
*/

#myDiv1{
   background-color: #000000;    
   color:#ffffff;    
   display: block;    
   border: solid purple;
}

#myDiv2{
   background-color: #ff0000;    
   color:#fff;    
   border: solid green;
}

div.myClass{
   background-color: pink;
}

这样,css就只会修改class是myClass的div标签了。

如果想把classmyClass的其他标签也用相同的样式,只需要用逗号隔开:

div.myClass, p.myClass, span.myClass{
   background-color: pink;
}

用选择器的原则就是描述的越详细越好。

选择器的优先级:

id ->混合选择器->class选择器->标签选择器

现在我们修改html

<!DOCTYPE html>
<html>
<head>    <meta charset="utf-8">    <title>Css</title>    <meta name="keywords" content="key1, key2">    <meta name="description" content="">    <link rel="stylesheet" type="text/css" href="css/index.css"></head><body>    <!-- 这是注释 -->    <!--通过css改变文字颜色:color属性 -->    <div id="myDiv1" class="myClass">这是一个div标签</div>    <div id="myDiv2">这是第二个div标签</div>    <div class="myClass">这是第三个div标签</div>    <p class="myClass">这是p标签</p>    <span class="myClass">这是一个span标签</span>    <div id="div">        <span class="span">            <p>这是一个p标签</p>        </span>    </div>
</body>
</html>

现在我们要修改p标签的文字颜色为红色:

/*
这是css注释
div{
    font-family: 'Microsoft Yahei';
    font-size: 20px;
    border: 1px solid red;
    display: inline;
}
*/

#myDiv1{
   background-color: #000000;    
   color:#ffffff;    
   display: block;    
   border: solid purple;
}

#myDiv2{
   background-color: #ff0000;    
   color:#fff;    
   border: solid green;
}

div.myClass, p.myClass, span.myClass{
   background-color: pink;
}

#div span.span p{
   color:red;
}

之前我们说过,标签是分层的,这里的空格即表示分层,所以上面代码中最后面的样式意为id是div的标签下一层class为span的span标签下一层的p标签

我们再做一个练习:

.module-body .brand-mask .enter span

大家看一下上面css是什么意思?

    答案:id是module-body的下一层id是brand-mask的下一层id是enter的span标签。

转载于:https://www.cnblogs.com/captainmeng/p/8983984.html

相关文章:

  • taobao_api项目进展
  • Java类库和常用类库介绍
  • 微信小程序开发:学习笔记[2]——WXML模板
  • linux常用命令:tr 命令
  • bzoj 4574: [Zjoi2016]线段树
  • 数据结构-绪论
  • 安装Emacs并设置racket环境
  • 记录一次我的造成的生产事故
  • JavaScript三(对象思想)
  • IDEA搭建工程
  • python学习笔记-day7-2-【python从mysql数据库导数据到excel,读excel,修改excel】
  • linux下实现多台服务器同步文件(inotify-tools+rsync实时同步文件安装和配置)
  • Python实用笔记 (15)函数式编程——装饰器
  • LuoguP3621 [APIO2007]风铃
  • Python变量和基本数据类型
  • Apache Pulsar 2.1 重磅发布
  • DataBase in Android
  • Effective Java 笔记(一)
  • exports和module.exports
  • IDEA常用插件整理
  • PHP 小技巧
  • React组件设计模式(一)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Web设计流程优化:网页效果图设计新思路
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 批量截取pdf文件
  • 如何利用MongoDB打造TOP榜小程序
  • 如何在 Tornado 中实现 Middleware
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 小程序开发之路(一)
  • 一个SAP顾问在美国的这些年
  • 译自由幺半群
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​TypeScript都不会用,也敢说会前端?
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #stm32整理(一)flash读写
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (11)MSP430F5529 定时器B
  • (4)(4.6) Triducer
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)fiber的基本认识
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (转)可以带来幸福的一本书
  • .gitignore文件—git忽略文件
  • .NET 4.0中的泛型协变和反变
  • .net CHARTING图表控件下载地址
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Framework 4.6.2改进了WPF和安全性
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .net6 webapi log4net完整配置使用流程
  • .net反编译工具