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

【Linux】网络服务

声明,以下内容均学习自《Linux就该这么学》一书

1、创建网络会话

Linux系统使用NetworkManager提供网络服务,它是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。

nmcli

nmcli是一款基于命令行的网络配置工具,它可以轻松地查看网络信息或网络状态。

nmcli connection show

创建网络会话,将公司的网络会话称为company,家庭的网络会话称为house。

创建公司网络会话company:

使用con-name参数指定公司所使用的网络会话名称为company,然后使用ifname参数指定本机的网卡名称(此处的eno16777736为示例),接着用autoconnect to参数设置该网络会话默认不被自动激活,最后用ip4及gw4参数手动指定网咯的IP地址 

nmcli connection add con-name company ifname eno16777736 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1

 创建家庭网络会话house:

因为我们想从外部DHCP服务器总获得IP地址,所以此处不需要手动指定。

nmcli connection add con-name house type ethernet ifname eno16777736

成功创建网络会话后,使用nmcli connection show命令查看所有的网络会话。

使用nmcli命令配置过的网络会话是永久生效的。

2、网卡绑定

常见的网卡绑定驱动有三种模式:

  1. mode0:平衡负载模式,平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
  2. mode1:自动备援模式,平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
  3. mode6:平衡负载模式,平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。

3、远程控制服务

SSH

SSH(secure shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。

sshd

要想使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,它能够提供两种安全验证的方法:

基于口令的验证:用账户和密码来验证登录;

基于密钥的验证:需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较。

sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。一般把保存着最主要配置信息的文件称为主配置文件,在配置文件中有需要以#开头的注释行,要想让这些配置参数生效,需要在修改参数后去掉前面的#。

sshd服务配置文件中的参数及作用
Port 22默认的sshd服务端口
ListenAddress 0.0.0.0设定sshd服务器监听的IP地址
Protocol 2SSH协议的版本号
HostKey /etc/ssh/ssh_host_keySSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_keySSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_keySSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes设定是否允许root管理员直接登录
StrictModes yes当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6最大密码尝试次数
MaxSessions 10最大终端数量
PasswordAuthentication yes是否允许密码验证
PermitEmptyPasswords no是否允许空密码登录(很不安全)

使用ssh进行远程连接:ssh [参数] 主机IP地址

ssh 192.168.10.10#要退出的话执行 exit 命令

如果禁止以root管理员身份远程登录到服务器,可以大大降低被黑客暴力破解密码的概率。

执行命令vim /etc/ssh/sshd_config打开sshd服务的主配置文件,把#PermitRootLogin yes这一行的 # 去掉,并把yes改成了no。如此配置后,就不再允许root管理员远程登录了。

如果想让新配置文件生效,需要手动重启相应的服务程序,并将此服务程序加入到开机启动项中,这样系统下一次一启动,sshd服务就会自动运行。

# 重启sshd服务程序,使其生效
systemctl restart sshd# 将sshd服务程序加入到开机自启动
systemctl enable sshd

SCP

scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,它不仅能够通过网络传送数据,而且所有的数据都将进行加密处理:scp [参数] 本地文件 远程账户@远程IP地址:远程目录

scp命令参数及作用
-v显示详细的连接进度
-p指定远程主机的sshd端口号
-r用于传送文件夹
-6使用IPv6协议

在使用 scp 命今把文件以本地复制到远程主机时,首先需要以绝对路径的形式写清楚本地文件的存放位置。如果要传送整个文件夹内的所有数据,还需要额外添加参数 -r 进行递操作。然后写上要传送到的远程主机的IP地址,远程服务器便会要求进行身份验证了。当前用户名称为 root,而密码则为远程服务器的密码。如果想使用指定用户的身份进行验证,用“用户名@主机地址”的参数格式。最后需要在远程主机的IP地址后面添加冒号,并在后面写上要传送到远程主机的哪个文件夹中。只要参数正确并且成功验证了用户身份,即可开始传送工作。

也可以使用scp命令把远程主机上的文件下载到本地主机:scp [参数] 远程用户@远程IP地址:远程文件 本地目录

# 把文件复制到远程主机
scp /root/test.txt 192.168.10.20:/home# 把远程主机上的文件下载到本地主机
scp 192.168.10.20:/etc/redhat-release /root

4、不间断会话服务

screen

screen是一款能够实现多窗口远程控制的开源服务程序,它是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户可以使用screen服务同时在多个远程会话中自由切换。

  •  会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制;
  • 多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。
  • 会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户间的输入输出信息共享。
screen参数及作用
-S创建会话窗口
-d将指定会话进行离线处理
-r恢复指定会话
-x一次性恢复所有的会话
-ls显示当前已有的会话
-wipe把目前无法使用的会话删除

退出会话:exit

相关文章:

【Linux】网络服务

声明,以下内容均学习自《Linux就该这么学》一书 1、创建网络会话 Linux系统使用NetworkManager提供网络服务,它是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。 nmcli nmcli是一款基于命令行的网络配置工具,它…...

错题:Linux C语言

题目&#xff1a;手写代码&#xff1a;判断一个数&#xff08;int类型的整数&#xff09;中有有多少1 题目&#xff1a;手写代码&#xff1a;判断一个数(转换成二进制表示时)有几个1 #include <stdio.h> int main(int argc, const char *argv[]) { //判断一个数&#xf…...

机器学习期末速成

文章参考自B站机器学习期末速成课 本文仅作者个人复习使用 一、机器学习分类 聚类和分类的区别&#xff1a; 分类&#xff1a;一开始就知道有哪些类别 聚类&#xff1a;一开始不知道有哪些类别 损失函数&#xff1a;简单来说就是你预测出来的结果和真实值的差距。 0-1损失函数…...

【学习总结|DAY015】Java面向对象高级-抽象类、接口

引言 在今天的课程中&#xff0c;我们详细探讨了 Java 编程语言的几个核心特性&#xff1a;多态、final 关键字、抽象类和接口。这些概念是面向对象编程的基础&#xff0c;对于构建健壮、可维护的应用至关重要。本文将通过具体的例子和解释帮助大家更好地掌握这些知识点。 一…...

单词拼写纠正-04-161.力扣 相隔为 1 的编辑距离

拼写纠正系列 NLP 中文拼写检测实现思路 NLP 中文拼写检测纠正算法整理 NLP 英文拼写算法&#xff0c;如果提升 100W 倍的性能&#xff1f; NLP 中文拼写检测纠正 Paper java 实现中英文拼写检查和错误纠正&#xff1f;可我只会写 CRUD 啊&#xff01; 一个提升英文单词拼…...

深入理解 NumPy 广播机制:从基础到应用

目录 什么是广播机制&#xff1f;广播机制的规则广播机制示例1. 一维数组与标量运算2. 二维数组与一维数组运算3. 维度不同的数组运算4. 广播失败的情况 广播机制的实际应用场景1. 数据归一化2. 批量计算欧氏距离 总结广播机制的核心要点&#xff1a; 在使用 NumPy 进行数组操作…...

Springboot(五十三)SpringBoot3整合redisson

前边我们有记录Springboot2/3整合redis的方式。是基于Springboot默认集成的Lettuce客户端实现的。 今天我们在项目中集成的redission是在Lettuce之上构建的redis客户端。 Redisson:一个在Jedis和Lettuce之上构建的Redis客户端。提供了一系列分布式Java对象和服务,比如:分布式…...

UAC2.0 speaker——带反馈端点的 USB speaker(16bit 单声道)

UAC2.0 speaker 系列文章 UAC2.0 speaker——单声道 USB speaker(16bit) UAC2.0 speaker——类特殊请求 UAC2.0 speaker——音量控制 UAC2.0 speaker——多采样率支持 UAC2.0 speaker——24/32bit 支持 UAC2.0 speaker——speaker 数据传输 UAC2.0 speaker——同时支持 16bi…...

P2562 [AHOI2002] Kitty猫基因编码

P1498P2562 [AHOI2002] Kitty猫基因编码 #include <iostream> using namespace std; #include <cmath> #include <vector> #include <string> string encode(string str){if(str.find("0") string::npos) return "B";if(str.fin…...

HarmonyOS(65) ArkUI FrameNode详解

Node 1、Node简介2、FrameNode2.1、创建和删除节点2.2、对FrameNode的增删改2.3 FramNode的查询功能3、demo源码4、总结5、参考资料1、Node简介 在HarmonyOS(63) ArkUI 自定义占位组件NodeContainer介绍了自定义节点复用的原理(阅读本本篇博文之前,建议先读读这个),在Node…...

40分钟学 Go 语言高并发:负载均衡与服务治理

负载均衡与服务治理 一、知识要点总览 模块核心内容技术实现难度负载策略轮询、权重、最小连接数自定义负载均衡器中服务降级服务降级、熔断降级、限流降级Hystrix模式高熔断机制熔断器状态机、失败计数、自动恢复Circuit Breaker高限流设计令牌桶、滑动窗口、计数器Rate Lim…...

Python 从入门到实战45(Pandas数据操作)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;可以熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们学习了pandas数据读写的相关基础知识。今天学习一下…...

node js 历史版本下载

此为node历史版本下载地址 https://nodejs.org/dist/https://nodejs.org/dist/...

无代码探索AI大模型:腾讯云函数计算的卓越实践

在数字化转型的浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;技术已经成为企业提升竞争力的关键。然而&#xff0c;对于许多业务人员来说&#xff0c;技术门槛高、开发周期长等问题限制了他们快速探索和应用AI大模型的能力。同时&#xff0c;对于缺乏GPU资源的开发者来…...

网页数据抓取:融合BeautifulSoup和Scrapy的高级爬虫技术

网页数据抓取&#xff1a;融合BeautifulSoup和Scrapy的高级爬虫技术 在当今的大数据时代&#xff0c;网络爬虫技术已经成为获取信息的重要手段之一。Python凭借其强大的库支持&#xff0c;成为了进行网页数据抓取的首选语言。在众多的爬虫库中&#xff0c;BeautifulSoup和Scra…...

vivado中,generate output product 和Create HDL wrapper的作用

generate output product 以zynq的ip核举例&#xff0c;没有generate output product之前&#xff0c;在ip source 什么也看不到。 但是同样的一个ip核&#xff0c;generate output product之后&#xff0c;会生成综合&#xff0c;布线和仿真文件&#xff0c;约束文件等等。 …...

欧盟R156法规注意事项及实例展示

欧盟 R156 法规即《关于批准车辆的软件升级和软件升级管理体系统一规定的法规》&#xff0c;其注意事项及实例如下&#xff1a; 注意事项&#xff1a; 软件升级管理体系方面&#xff1a; 体系建立与维持&#xff1a;汽车制造商和供应商必须建立完善的软件升级管理体系&#xff…...

HTML语义化的案例分析

HTML语义化的案例分析&#xff1a;对比实际网站中语义化与非语义化标签的差异 在现代Web开发中&#xff0c;HTML语义化被广泛认为是提升网页结构和可访问性的重要做法。HTML语义化不仅仅是为了让代码更清晰&#xff0c;更是为了增强搜索引擎优化&#xff08;SEO&#xff09;&a…...

使用 pyperclip 进行跨平台剪贴板操作

简介&#xff1a;pyperclip 是一个轻量级的 Python 库&#xff0c;支持在不同操作系统&#xff08;Windows、macOS、Linux&#xff09;中进行剪贴板的复制和粘贴。这个库的设计简单易用&#xff0c;非常适合需要频繁进行文本复制粘贴操作的场景。 历史攻略&#xff1a; 使用f…...

微信小程序报错:http://159.75.169.224:7300不在以下 request 合法域名列表中,请参考文档

要解决此问题&#xff0c;需打开微信小程序开发者工具进行设置&#xff0c;打开详情-本地设置重新运行&#xff0c;该报错就没有啦...

Java:181 基于springboot的考编论坛管理系统

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本系统一共管理员&#xff0c;用户角色。 主要功能&#xff1a;收货地址管理、经验交流平台管理、公告信息管理、跳蚤市场管理、商品留言管理、商品订…...

通义千问sft-甄嬛对话

流程步骤 https://www.datawhale.cn/activity/110/21/76?rankingPage1 按照上面的流程&#xff0c;准备好数据之后就可以直接对7b的模型进行指令微调了&#xff0c;整个流程不是很复杂&#xff0c;操作起来比较方便。但是发布服务等了较长时间&#xff0c;以为出了bug 结果展…...

如何配置Jackson以忽略Java类中为null或空(empty)的字段

Jackson库提供了JsonInclude注解和ObjectMapper配置选项&#xff0c;可以用来控制是否在JSON输出中包含null或空值的字段。 默认情况下&#xff0c;Jackson会包含所有字段&#xff0c;不论其值为何。 本教程将展示如何使用Include.NON_NULL来忽略null值字段&#xff0c;以及使…...

设置笔记本同时连接内外网

原理&#xff1a;通过笔记本和手机相连&#xff0c;实现双网卡功能能。笔记本连接内网wifi、同时手机端开启usb网络共享&#xff0c;笔记本就有了两个网&#xff0c;然配置那个访问外网&#xff0c;那个访问内网。 1.笔记本wifi连接内网wifi 2.手机端共享网络。 手机打开 -【…...

让文章更具说服力:如何巧妙运用逻辑

在写作的过程中&#xff0c;不论是创作小说、撰写学术论文&#xff0c;还是撰写营销文案&#xff0c;逻辑的运用都至关重要。一个没有逻辑支撑的文章&#xff0c;很容易让读者产生困惑、迷失方向&#xff0c;甚至失去阅读兴趣。因此&#xff0c;如何巧妙地运用逻辑&#xff0c;…...

阿里云云服务器Docker-Execrise

申请云服务器 阿里云每个人可以免费申请三个月的使用的服务器可以用作学习使用建议申请规格2核4g的&#xff0c;2g的有点捉襟见肘了选择服务器建议alibaba-linux服务器&#xff0c;就是linux&#xff1b;选择windows可能由于2核4g的限制&#xff0c;docker不匹配系统起码我就是…...

解决 MySQL 启动失败与大小写问题,重置数据库

技术文档&#xff1a;解决 MySQL 启动失败与大小写问题&#xff0c;重置数据库 1. 问题背景 在使用 MySQL 时&#xff0c;可能遇到以下问题&#xff1a; MySQL 启动失败&#xff0c;日志显示 “permission denied” 或 “Can’t create directory” 错误。MySQL 在修改配置文…...

启智畅想集装箱箱号识别算法,2台相机即可实现较高识别率

启智畅想集装箱箱号识别算法&#xff0c;在货车通道中使用时&#xff0c;一般配备2台相机即可。启智畅想集装箱箱号识别算法&#xff0c;在货车通道中使用时&#xff0c;一般配备2台相机即可实现对集装箱箱号的精准捕捉与识别。这两台相机分别安装在货车通道的后侧和随意侧面&a…...

【C++】指针与智慧的邂逅:C++内存管理的诗意

文章目录 RAII 智能指针auto_ptrunique_ptr shared_ptr模拟实现定制删除器循环引用 和 weak_ptr RAII RAII&#xff08;Resource Acquisition Is Initialization&#xff09;是一种广泛应用于 C 等编程语言中的编程范式&#xff0c;它的核心思想是&#xff1a;资源的获取和释放…...

python中的高阶函数

1、什么是高阶函数&#xff1f; 高阶函数是指将函数作为参数传入。就是高阶函数 2、高阶函数有哪些&#xff1f; map 映射函数 >>> print(list(map(lambda x:x*x,range(1,11)))) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>> print(list(map(lambda x:st…...

spark关联hive 报 Filesystem Close 错误

请看如下问题&#xff1a; 假如我想将一个sql语句插入hive表中时&#xff0c;比如 insert into table tmp.app_user_active_range partition (dt2022-11-04) 报如下错误&#xff1a; 我的环境是pyspark&#xff0c;pyspark中操作hive,使用datagrip关联spark&#xff0c;在da…...

MySQL主从同步详解

文章目录 MySQL主从同步概述MySQL主从同步原理MySQL主从同步结构模式MySQL主从同步搭建搭建步骤一主一从实验环境master主机slave1主机验证主从同步 一主多从master主机slave2主机验证主从同步 MySQL主从同步复制模式 读写分离技术MaxScale简介部署MaxScale服务器授权用户maste…...

Python 单元测试基础脚本

单元测试的概念&#xff1a; 单元测试是针对程序中最小可测试单元进行检查和验证的过程。在Python中&#xff0c;通常一个函数或方法就是一个测试单元。 unittest框架&#xff1a; Python自带了一个名为unittest的单元测试框架&#xff0c;它受JUnit启发&#xff0c;为开发者提…...

鸿蒙开发-在ArkTS中实现socket功能

基本概念 在 ArkTS 中实现 Socket 功能主要涉及到网络通信中的套接字(Socket)编程。Socket 是一种用于在不同设备(如客户端和服务器)之间进行双向通信的接口&#xff0c;它允许应用程序发送和接收数据。在网络编程中&#xff0c;有两种主要的 Socket 类型&#xff1a;基于 TCP…...

【设计模式系列】策略模式(二十四)

一、什么是策略模式 策略模式&#xff08;Strategy Pattern&#xff09;是软件设计模式中的一种行为型模式。它定义了一系列算法&#xff0c;并将每一个算法封装起来&#xff0c;使它们可以互换使用&#xff0c;算法的变化不会影响使用算法的用户。策略模式让算法的变化独立于…...

D92【python 接口自动化学习】- pytest基础用法

day92 pytest的skip和skipif用法 学习日期&#xff1a;20241208 学习目标&#xff1a;pytest基础用法 -- pytest的skip和skipif用法 学习笔记&#xff1a; 测试用例跳过 skip和skipif用法&#xff0c;测试用例跳过 pytest.mark.skip 跳过标记的用例 pytest.mark.skipif(1 …...

spring中的@Bean和@Component有什么区别?

定义和作用范围 Bean&#xff1a; 是一个方法级别的注解。它主要用于在Java配置类&#xff08;使用Configuration注解的类&#xff09;中定义一个Bean。这个方法返回的对象会被Spring容器管理。例如&#xff0c;假设我们有一个配置类AppConfig&#xff1a; import org.sprin…...

docker入门

安装 官方下载 系统&#xff1a;CentOS 7.9 配置docker yum源。 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo启动docker 关机后下次开机又得执行 sudo systemctl start dock…...

HDR视频技术之六:色调映射

图像显示技术的最终目的就是使得显示的图像效果尽量接近人们在自然界中观察到的对应的场景。 HDR 图像与视频有着更高的亮度、更深的位深、更广的色域&#xff0c;因此它无法在常见的普通显示器上显示。 入门级的显示器与播放设备&#xff08;例如普通人家使用的电视&#xff0…...

MySQL高可用之MHA

华子目录 MHA概述为什么要用MHA什么是MHAMHA的组成MHA的特点故障切换备选主库的算法 MHA工作原理MHA环境搭建环境准备开始部署MHAMHA软件使用介绍配置MHA的管理环境创建MHA管理的模板文件 测试 模拟故障MySQL-master切换手动切换&#xff08;在master存活状态下切换&#xff09…...

区块链——基本概念、技术原理

一、区块链基本概念 &#xff08;一&#xff09;区块链定义 区块链&#xff08;Blockchain&#xff09;是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。通俗一点说&#xff0c;区块链技术就指一种全民参与记账的方式&#xff0c;是一种防篡改、共享的、可…...

docker 部署共享文档ZFile

1、拉取ZFile镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/tirling-pdf/zfile:latest 2、创建文件夹和进入文件夹 mkdir zfile && cd zfile 3、创建docker-compose.yml配置文件。 vim docker-compose.yml version: 3.3 service…...

C# 自定义组件实现表格的多层表头功能

在 WinForms 中&#xff0c;想要实现多层表头功能时&#xff0c;DataGridView 本身并不支持该功能&#xff0c;而且又不希望使用第三方控件&#xff0c;因此选择通过自定义组件来实现这一需求。 首先&#xff0c;展示一下程序实现的效果&#xff1a; 接下来&#xff0c;创建一…...

给Squid代理添加HTTP basic认证

HTTP basic认证是一种简单的认证机制&#xff0c;要求用户在请求资源前提供有效的用户名和密码。 实例: 给Squid代理添加HTTP basic认证 要求: 只允许用户名为peter,密码为123的请求通过认证, 其他请求返回407(Proxy认证失败) 步骤 1 使用htpasswd工具&#xff0c;生成用户…...

使用伪装IP地址和MAC地址进行Nmap扫描

使用伪装IP地址和MAC地址进行Nmap扫描 在某些网络设置中&#xff0c;攻击者可以使用伪装的IP地址甚至伪装的MAC地址进行系统扫描。这种扫描方式只有在可以保证捕获响应的情况下才有意义。如果从某个随机的网络尝试使用伪装的IP地址进行扫描&#xff0c;很可能无法接收到任何响…...

Oceanbase离线集群部署

准备工作 两台服务器 服务器的配置参照官网要求来 服务器名配置服务器IPoceanbase116g8h192.168.10.239oceanbase216g8h192.168.10.239 这里选oceanbase1作为 obd机器 oceanbase安装包 选择社区版本的时候自己系统的安装包 ntp时间同步rpm包 联网机器下载所需的软件包 …...

剑指Offer-1 存在重复元素

记录学习过程 题目连接 题目连接 题目描述 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 示例一、 输入&#xff1a;nums [1,2,3,1] 输出&#xff1a;true 解释&…...

react跳转传参的方法

传参 首先下载命令行 npm react-router-dom 然后引入此代码 前面跳转的是页面 后面传的是你需要传的参数接参 引入此方法 useLocation()&#xff1a;这是 react-router-dom 提供的一个钩子&#xff0c;用于获取当前路由的位置对象location.state&#xff1a;这是从其他页面传…...

【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤

&#x1f399;告诉你&#xff1a;Java是世界上最美好的语言 &#x1f48e;比较擅长的领域&#xff1a;前端开发 是的&#xff0c;我需要您的&#xff1a; &#x1f9e1;点赞❤️关注&#x1f499;收藏&#x1f49b; 是我持续下去的动力&#xff01; 目录 一. 作者有话说 …...

CSS学习记录04

CSS边框 CSS border 属性指定元素边框的样式、宽度和颜色。border-style 属性指定要显示的边框类型。dotted - 定义点线边框dashed - 定义虚线边框solid - 定义实线边框double - 定义双边框groove - 定义3D坡口边框&#xff0c;效果取决于border-color值ridge - 定义3D脊线边框…...