CSS语法介绍

文章目录

  • 前言
  • 一、CSS引入方式
    • 1.行内操作
    • 2.内部操作
    • 3.外部操作
  • 二、常用选择器
    • 1.标签选择器
    • 2.类选择器
    • 3.id选择器
    • 4.群组选择器
    • 5.后代选择器
  • 三、字体常用设置
    • 1.字体类型
    • 2.字体大小
    • 3.字体样式
    • 4.字体粗细
  • 四、div盒子模型
    • 1.盒子边框
    • 2.外边距
    • 3.内边距
    • 4.浮动
  • 综合实战案例


前言

以盖房子比喻我们的网页,HTML就是房屋主体,CSS就是给房屋装修,JS就是给房屋买家具,今天介绍CSS语法部分。


一、CSS引入方式

1.行内操作

CSS引入方式的第一种是行内操作,首先我们先写一组HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS引入</title>
</head>
<body>

<p>我是P标签 -- 1</p>
<p>我是P标签 -- 2</p>
</body>
</html>

运行结果如下:
在这里插入图片描述

我们会发现字体没有颜色,大小也很单调,接下来给字体加上颜色及修改大小,用到style属性,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS引入</title>
</head>
<body>
<!--1、行内CSS操作-->
<p style="color: red">我是P标签 -- 1</p>
<p style="color: green; font-size: 30px">我是P标签 -- 2</p>
</body>
</html>

代码运行结果如下:
在这里插入图片描述

这时候我们也会发现如果要定义的样式非常多,写在标签内部就很长很乱,代码阅读性很差,接下来会用到第二种CSS引入方式。

2.内部操作

内部操作也叫头部操作,在head里面使用style标签,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS引入</title>
    <!--2、头部CSS操作-->
    <style>
        span {
            color: purple;
            font-family: 宋体;
        }
    </style>
</head>
<body>
<span>学习:头部CSS操作</span>
</body>
</html>

运行后结果如下:
在这里插入图片描述

假设现在样式标签很多,全部都写在该HTML文件中,也会显得代码很冗长,接下来介绍第三种CSS引入方式。

3.外部操作

外部CSS操作,在外部单独新建一个css文件,名字随便起,比如这里取名为demo.css,然后回到HTML文件中继续写代码,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS引入</title>
    <!--3、外部CSS操作-->
    <link rel="stylesheet" href="demo.css">
</head>
<body>
<!--i标签是斜体标签-->
<i>好好学习,天天向上</i>
</body>
</html>

CSS代码如下:
在这里插入图片描述

运行HTML代码后结果如下:
在这里插入图片描述
三种CSS引入方式根据自己喜好选择即可,如果项目非常大,一定是使用外部CSS引入的方式。

二、常用选择器

选择器就是选中标签的方式,分为5种。

1.标签选择器

标签选择器是通过标签名选中标签,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签选择器</title>
    <!--标签选择器通过标签名选中标签-->
    <style>
        b {
            color: red;
        }
        span {
            color: green;
        }
    </style>
</head>
<body>
<!--b标签是粗体标签-->
<b>我是b标签 -- 1</b> <hr>
<span>我是span标签</span> <hr>
<b>我是b标签 -- 2</b>
</body>
</html>

运行后结果如下:
在这里插入图片描述

2.类选择器

类选择器是通过class属性值选中标签,现在有代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>类选择器.: class</title>
    <style>
        p {
            color: red;
        }
    </style>
</head>
<body>
<p>我是p标签 -- 1</p>
<p>我是p标签 -- 2</p>
<p>我是p标签 -- 3</p>
</body>
</html>

运行结果如下:
在这里插入图片描述

假如我现在只想让标签1和3改变颜色,2不变,这时候就要对1和3加上属性class,class类用.点指代,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>类选择器.: class</title>
    <style>
        .p1 {
            color: red;
        }
    </style>
</head>
<body>
<p class="p1">我是p标签 -- 1</p>
<p>我是p标签 -- 2</p>
<p class="p1">我是p标签 -- 3</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述
代码做进一步升级:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>类选择器.: class</title>
    <style>
        .p1 {
            color: red;
        }
    </style>
</head>
<body>
<p class="p1">我是p标签 -- 1</p>
<p>我是p标签 -- 2</p>
<p class="p1">我是p标签 -- 3</p>
<span class="p1">我是span -- 3</span>
</body>
</html>

这时候span标签的内容也会变颜色,因为类选择器选中的是同一类,而不管是不是同一种标签,运行结果如下:
在这里插入图片描述

3.id选择器

id选择器用#号来指代,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>id选择器 -- #</title>
    <style>
        #p1 {
            font-size: 20px;
            color: red;
        }
    </style>
</head>
<body>
<p id="p1">id选择器 -- 1</p>
<p>id选择器 -- 2</p>
<p>id选择器 -- 3</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述
这时候我们继续修改代码,为下面的p标签也设置同样的id和属性值,代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>id选择器 -- #</title>
    <style>
        #p1 {
            font-size: 20px;
            color: red;
        }
    </style>
</head>
<body>
<p id="p1">id选择器 -- 1</p>
<p id="p1">id选择器 -- 2</p>
<p>id选择器 -- 3</p>
</body>
</html>

但是里面代码很明显是有错误的,因为id值是唯一的,类似于我们的身份证号码,不能有重复的,而类class是可以有多个重复的,这就是id选择器的特殊之处。

4.群组选择器

群组选择器用,逗号来指代,我们来写一组代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>群组选择器 -- ,</title>
    <style>
        span {
            color: red;
        }
        p {
            color: red;
        }
    </style>
</head>
<body>
<span>我爱你</span>
<p>好天气</p>
</body>
</html>

这组代码实现的功能就是给span标签和p标签内容都改颜色,虽然可以实现,但是我们会发现代码变的冗长了,如果有多个不同标签,那么会更长,这时候可以使用群组选择器,将代码缩短,具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>群组选择器 -- ,</title>
    <style>
        span, p {
            color: green;
        }
    </style>
</head>
<body>
<span>我爱你</span>
<p>好天气</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述

5.后代选择器

我们可以看这样一组代码:

<head>
    <meta charset="UTF-8">
    <title>后代选择器</title>
    <style>
        span {
            color: red;
        }
    </style>
</head>
<body>
<p>
    <a href="">
        <span>学习后代选择器</span>
    </a>
</p>
<span>我是span标签</span>
</body>
</html>

运行后结果如下:
在这里插入图片描述
假如我们只想让a标签里面的span标签改变颜色,这里就要用到后代选择器,当然也可以单独设置id或者class,但是我们用后代选择器来看看怎么改,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>后代选择器</title>
    <style>
        p > a > span {
            color: blue;
        }
    </style>
</head>
<body>
<p>
    <a href="">
        <span>学习后代选择器</span>
    </a>
</p>
<span>我是span标签</span>
</body>
</html>

运行后结果如下:
在这里插入图片描述

三、字体常用设置

1.字体类型

字体类型用font-family属性,具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字体设置</title>
    <style>
        #p1 {
            /*字体类型*/
            font-family: 宋体;
        }
    </style>
</head>
<body>
<p id="p1">学习字体设置</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述
可以继续改为黑体,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字体设置</title>
    <style>
        #p1 {
            /*字体类型*/
            font-family: 黑体;
        }
    </style>
</head>
<body>
<p id="p1">学习字体设置</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述

2.字体大小

字体大小用属性font-size,具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字体设置</title>
    <style>
        #p1 {
            /*字体大小*/
            font-size: 30px;
        }
    </style>
</head>
<body>
<p id="p1">学习字体设置</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述

3.字体样式

字体样式使用属性font-style,属性值常用的有italic(斜体)和normal(正常),具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字体设置</title>
    <style>
        #p1 {
            /*字体样式*/
            font-style: italic;
        }
    </style>
</head>
<body>
<p id="p1">学习字体设置</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述

4.字体粗细

字体粗细使用font-weight属性,常用属性值就是normal(正常)和bold(粗),代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字体设置</title>
    <style>
        #p1 {
            /*字体粗细*/
            font-weight: bold;
        }
    </style>
</head>
<body>
<p id="p1">学习字体设置</p>
</body>
</html>

运行后结果如下:
在这里插入图片描述

四、div盒子模型

盒子模型就是给网页划分不同区域,每个区域有特定的功能,盒子里面的标签如果要转移位置,只需挪动盒子即可,不用一个个标签去挪动,说白了,就是便于管理。

1.盒子边框

盒子模型的标签是div,具体用法代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒子边框</title>
    <style>
        div {
            /*盒子宽度width*/
            width: 200px;
            /*盒子高度height*/
            height: 200px;
            /*盒子边框border*/
            /*border有三个参数:粗细 线的类型 颜色*/
            /*线类型有:实线(solid) 虚线(dashed) 点线(dotted)*/
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div>

</div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

盒子建好之后,我们可以在里面写一些标签内容,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒子边框</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div>
    <p>天气真好</p>
    <p>天气真好</p>
    <p>天气真好</p>
</div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

还可以给盒子添加背景颜色,使用background-color属性,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒子边框</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            border: 1px solid red;
            background-color: orange;
        }
    </style>
</head>
<body>
<div>

</div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

2.外边距

接下来看看外边距,外边距是盒子与盒子之间的边距,以及盒子与浏览器之间的边距,我们先创建两个盒子,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>外边距</title>
    <style>
        #d1 {
            width: 300px;
            height: 300px;
            background-color: green;
        }
        #d2 {
            width: 300px;
            height: 300px;
            background-color: orange;
        }
    </style>
</head>
<body>
<div id="d1"></div>

<div id="d2"></div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

div标签是默认从上往下展示,可以看到两个盒子目前是挨在一起,接下来为他们设置边距,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>外边距</title>
    <style>
        #d1 {
            width: 300px;
            height: 300px;
            background-color: green;
        }
        #d2 {
            width: 300px;
            height: 300px;
            background-color: orange;
            /*上边距*/
            margin-top: 50px;
            /*左边距*/
            margin-left: 50px;
        }
    </style>
</head>
<body>
<div id="d1"></div>

<div id="d2"></div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

接下来很关键的是如何让盒子居中,这里用到margin属性,属性值是auto,意思就是自动根据浏览器大小居中显示,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>外边距</title>
    <style>
        #d2 {
            width: 300px;
            height: 300px;
            background-color: orange;
            /*盒子居中*/
            margin: auto;
        }
    </style>
</head>
<body>
<div id="d2"></div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

3.内边距

内边距是盒子里面内容与盒子之间的边距,可以先看下面这组代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内边距</title>
    <style>
        .d1 {
            width: 300px;
            height: 300px;
            border: 2px solid red;
        }
    </style>
</head>
<body>
<div class="d1">
    <p>学习内边距</p>
</div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

接下来把盒子里面内容上下左右距离调整,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内边距</title>
    <style>
        .d1 {
            width: 300px;
            height: 300px;
            border: 2px solid red;
            /*内容距离盒子上边的边距*/
            padding-top: 50px;
            /*内容距离盒子左边的边距*/
            padding-left: 50px;
        }
    </style>
</head>
<body>
<div class="d1">
    <p>学习内边距</p>
</div>
</body>
</html>

运行后结果如下:
在这里插入图片描述
这时候我们会注意到盒子整体变大了,这是因为内边距会撑大盒子,以保持除开刚才上边和左边撑开的内边距,盒子整体大小依然是我们设置的尺寸300px。

4.浮动

浮动就是把原有默认的位置进行移动,比如我们上面定义的两个盒子默认是上下挨着展示,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动</title>
    <style>
        #d1 {
            width: 300px;
            height: 300px;
            background-color: green;
        }
        #d2 {
            width: 300px;
            height: 300px;
            background-color: orange;
        }
    </style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

现在我将下面的盒子位置移动到右边,称为浮动,用到float属性,值为right,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动</title>
    <style>
        #d1 {
            width: 300px;
            height: 300px;
            background-color: green;
        }
        #d2 {
            width: 300px;
            height: 300px;
            background-color: orange;
            float: right;
        }
    </style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
</body>
</html>

运行后结果如下:
在这里插入图片描述

综合实战案例

实战案例需求:编写注册页面,先看效果图如下:
在这里插入图片描述

附上全部代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面(案例)</title>
    <style>
        div {
            width: 300px;
            height: 320px;
            border: 1px solid grey;
            border-radius: 5px;
            border: 1px solid grey;
            padding: 10px;
            margin: auto;
        }
        span {
            border-bottom: 5px solid purple;
            padding-bottom: 6px;
        }
        #a1 {
            float: right;
            color: deepskyblue;
            text-decoration: none;
        }
        .A {
            width: 290px;
            height: 30px;
            margin-bottom: 8px;
            border-radius: 5px;
            border: 1px solid grey;
        }
        .B {
            width: 190px;
            height: 30px;
            margin-bottom: 8px;
            border-radius: 5px;
            border: 1px solid grey;
        }
        .C {
            width: 90px;
            height: 30px;
            border-radius: 5px;
            border: 1px solid grey;
            color: purple;
        }
        .D {
            width: 90px;
            height: 30px;
            border-radius: 5px;
            border: 1px solid grey;
            background-image: url("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fzhuangjiba.com%2Fd%2Ffile%2Fhelp%2F2018%2F08%2Fcfdefaddb3f47d78f8c66a7de28720aa.png&refer=http%3A%2F%2Fzhuangjiba.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1655473640&t=3942417cfe379e590c48a9340d06952b");
            background-size: 85px 30px;
            vertical-align: middle;
        }
        .E {
            width: 290px;
            height: 30px;
            border-radius: 5px;
            border: 1px solid grey;
            color: deepskyblue;
        }
    </style>
</head>
<body>

<div>
    <form action="">
        <span>请注册</span>
        <a id="a1" href="">立即登录></a>
        <hr>
        <input type="text" placeholder="请输入手机号" class="A"> <br>
        <input type="text" placeholder="请输入短信验证码" class="B">
        <input type="button" value="发送验证码" class="C"> <br>
        <input type="text" placeholder="请输入用户名"  class="A"> <br>
        <input type="password" placeholder="请输入密码"  class="A"> <br>
        <input type="password" placeholder="请再次输入密码"  class="A"> <br>
        <input type="text" placeholder="请输入图形验证码" class="B">
        <input type="button" class="D"><br>
        <input type="submit" value="立即注册" class="E">
    </form>
</div>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/643961.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日一题 求和

1.题目解析 求和_牛客题霸_牛客网 (nowcoder.com) 这一题&#xff0c;主要描述的就是求满足和为m的子序列&#xff0c;对与子序列的问题可以使用决策树。 2.思路分析 决策树如下图所示: 递归结束条件&#xff1a; 当当前和 sum 等于目标和 m 时&#xff0c;说明找到了一个满…

Java+Swing+Mysql实现飞机订票系统

一、系统介绍 1.开发环境 操作系统&#xff1a;Win10 开发工具 &#xff1a;Eclipse2021 JDK版本&#xff1a;jdk1.8 数据库&#xff1a;Mysql8.0 2.技术选型 JavaSwingMysql 3.功能模块 4.数据库设计 1.用户表&#xff08;users&#xff09; 字段名称 类型 记录内容…

aws 接入awsIOT平台的证书签发逻辑

参考资料 https://aws.amazon.com/cn/blogs/china/certification-vending-machine-intelligent-device-access-aws-iot-platform-solution/ IoT 设备与 AWS IoT Core 的 MQTT 通信使用基于证书的 TLS 1.2双向认证体系。所谓的双向认证&#xff0c;即意味着 IoT 设备端需安装 …

Redis 性能管理

一、Redis 性能管理 #查看Redis内存使用 172.168.1.11:6379> info memory 1. 内存碎片率 操作系统分配的内存值 used_memory_rss 除以 Redis 使用的内存总量值 used_memory 计算得出。内存值 used_memory_rss 表示该进程所占物理内存的大小&#xff0c;即为操作系统分配给…

谈谈你对 vue 的理解 ?

1.谈谈你对 vue 的理解 ? 官方: Vue是一套用于构建用户界面的渐进式框架,Vue 的核心库只关注视图层 2. 声明式框架 Vue 的核心特点,用起来简单。那我们就有必要知道命令式和声明式的区别! 早在 JQ 的时代编写的代码都是命令式的,命令式框架重要特点就是关注过程 声明…

13个PyTorch深度学习案例简介

本文整理《PyTorch深度学习与企业级项目实战》中项目案例所使用的模型&#xff0c;方便大家在学习、研究深度学习过程中做训练使用&#xff0c;这些案例也适合作为课程论文、毕业论文的素材&#xff0c;值得收藏和推荐。 第6章 迁移学习花朵识别项目实战 花朵数据集 ResNet…

Unity射击游戏开发教程:(26)创建绕圈跑的效果

unity游戏 在本文中,我将介绍如何为敌人创建圆周运动。gif 中显示的确切行为是敌人沿着屏幕向下移动,直到到达某个点,一旦到达该点,它就会绕圈移动。

F28034中断

DSP中断 中断中断概述中断机制 中断 当CPU正在执行程序时&#xff0c;由于发生了某种随机的事件&#xff08;外部或内部&#xff09;&#xff0c;使CPU的执行中断&#xff0c;转而去执行某一段特殊的程序&#xff08;中断子程序或中断处理程序&#xff09;&#xff0c;以处理该…

LeetCode算法题:42. 接雨水(Java)

题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3…

(完全解决)Python字典dict如何由键key索引转化为点.dot索引

文章目录 背景解决方案基础版升级版 背景 For example, instead of writing mydict[‘val’], I’d like to write mydict.val. 解决方案 基础版 I’ve always kept this around in a util file. You can use it as a mixin on your own classes too. class dotdict(dict)…

前端 JS 经典:Web 性能指标

什么是性能指标&#xff1a;Web Performance Metrics 翻译成 Web 性能指标&#xff0c;一般和时间有关系&#xff0c;在短时间内做更多有意义的事情。 一个站点表现得好与不好&#xff0c;标准在于用户体验&#xff0c;而用户体验好不好&#xff0c;有一套 RAIL 模型来衡量。这…

基于SpringBoot的网盘系统设计与实现

第1章 绪论... 1 1.1 研究背景与意义... 1 1.1.1 研究背景... 1 1.1.1 研究意义... 1 1.2 国内外研究现状... 2 1.2.1 国内研究现状... 2 1.2.2 国外研究现状... 3 1.3 论文组织架构... 4 第2章 关键技术介绍... 5 2.1 SpringBoot. 5 2.2 MySQL数据库... 5 2.3 MVC架…

Altium Designer 中键拖动,滚轮缩放,并修改缩放速度

我的版本是AD19&#xff0c;其他版本应该都一样。 滚轮缩放 首先&#xff0c;要用滚轮缩放&#xff0c;先要调整一下AD 设置&#xff0c;打开Preferences&#xff0c;在Mouse Wheel Configuration 里&#xff0c;把Zoom Main Window 后面Ctrl 上的对勾取消掉&#xff0c;再把…

下载和安装AD19 - Altium Designer 19.1.9 Build 167

虽然有AD24 的安装资源&#xff0c;但是我比较喜欢19 这个数字[doge] 下载 仍然是从毛子网站源头进货&#xff1a;https://rutracker.net/forum/viewtopic.php?t5754276&#xff0c;网盘: https://pan.baidu.com/s/1ic31N4h7HS2FBu7JFll0YQ?pwdvjum 提取码: vjum 安装 压…

IDEA主题Drcula个性化改造

Darcula 主题整体色调看着舒服&#xff0c;但是代码区分不直观&#xff0c;比如直接看代码是看不出这个这个是类、接口、抽象类、枚举还是啥&#xff0c;而且左侧图标也很难区分。 该主题基于Darcula主题对类、接口、抽象类、注解在编辑区按颜色做了区分&#xff0c;同时图标也…

Nature期刊的等级和分类

Nature期刊不用过多介绍&#xff0c;学术界人员都对其有所了解&#xff0c;可以和Science&#xff0c;Cell比肩&#xff0c;Nature旗下创办了很多子刊&#xff0c;系列期刊有一百多种&#xff0c;当然其含金量各有不同&#xff0c;nature旗下的期刊等级你是否都了解了。 Nature…

通过继承React.Component创建React组件-5

在React中&#xff0c;V16版本之前有三种方式创建组件&#xff08;createClass() 被删除了)&#xff0c;之后只有两种方式创建组件。这两种方式的组件创建方式效果基本相同&#xff0c;但还是有一些区别&#xff0c;这两种方法在体如下&#xff1a; 本节先了解下用extnds Reac…

题解:CF1016E Rest In The Shades

题意 平面上有一个点光源 s s s 并以每秒 1 1 1 单位长度的速度从点 ( a , s y ) (a,sy) (a,sy) 移动到点 ( b , s y ) (b,sy) (b,sy)&#xff0c;其中 s y < 0 sy<0 sy<0&#xff1b;在 x x x 轴正方向上有 n n n 不相交、不接触的挡板&#xff0c;第 i i i …

ESP32烧录AT固件并进行MQTT通讯

首先下载AT固件 发布的固件 - ESP32 - — ESP-AT 用户指南 latest 文档 下载烧录工具 下载指导 - ESP32 - — ESP-AT 用户指南 latest 文档 烧录后注意usb的串口是不能发AT指令的 需要用16和17脚 用AT指令确认OK后连WIFI ATCWMODE1 //设置客户端模式 ATCWLAP …

CSS伪类实现input聚焦时,上层div样式改变

CSS伪类实现input聚焦时&#xff0c;上层div样式改变 可以使用:focus-within伪类选择器&#xff0c;它会在div内的任何元素获得焦点时选择该div&#xff0c;明确的是&#xff0c;获得焦点和被点击是不相等的&#xff0c;div能被点击&#xff0c;但是不能获得焦点&#xff0c;也…