Linux:显示和管理IP址设置

linux 系统管理员的主要职责之一是确保网络连接。阅读本文以了解系统在网络上的身份以及如何配置它以参与网络数据交换。

现代计算机及其用户几乎依赖网络连接来完成所有操作,包括基于云的应用程序、软件访问、数据访问和通信。似乎计算的各个方面都依赖于网络。Linux 工作站和服务器在这方面的必要性与 Windows 或 macOS 系统没有区别

Linux 系统管理员的主要职责之一是确保网络连接。这需要了解系统在网络上的身份并对其进行配置以参与网络数据交换。

Linux 系统在网络上具有三个身份。各种网络设备以不同的方式使用每个身份。

以下是三个身份及其用途的摘要:

主机名: 一个对用户和管理员友好的名称,为他们提供了一种简单的方法来识别节点。 IP 地址: 路由器和网络配置工具用来识别系统的逻辑地址。 MAC 地址: 网络接口卡 (NIC) 上的物理地址,用于唯一地识别它与交换机和其他第 2 层设备。

例如,计算机的三个身份可能如下所示:

主机名:computer27IP 地址:192.168.2.200MAC 地址:00:1c:42:73:8d:f2

这三个网络身份的使用和功能是本文的假设知识。如果您需要复习,请务必查看基本网络信息。您可能想构建一个实验室环境来练习本文中介绍的命令。如果您需要复习基本的 Linux 命令语法,请参考这篇文章。

避免以 root(管理员)用户身份登录 Linux 系统。大多数系统强制您以普通用户身份登录,然后使用 sudo(超级用户执行)命令和您的密码来提升您的权限。本教程中的一些命令可能需要在您的 Linux 发行版上使用 sudo 命令。您还必须使用 sudo 以提升的权限打开文本编辑器来管理网络配置文件。

代码语言:javascript代码运行次数:0运行复制

$ sudo vim /etc/resolv.conf

本文通过提供命令示例并提供轻松维护网络设置的方法,来检查三个网络身份的使用和配置。

显示系统身份

使用 hostname 命令显示系统的对用户友好的名称。这几乎肯定是用戶识别其计算机的唯一方式。主机名可能是称为完全限定域名 (FQDN) 的更大命名结构的一部分,指示系统在分层命名结构中的位置。

代码语言:javascript代码运行次数:0运行复制

$ hostname
Linux:显示和管理IP址设置

图 1:hostname 命令显示系统名称。

单个命令还可以显示 IP 和 MAC 地址,尽管输出不太直观。使用 ip addr 命令显示系统中每个网络接口的信息。请记住,每个接口都有其自己的唯一 IP 和 MAC 地址。服务器通常包含两个或多个 NIC,以实现冗余或连接到多个段。

代码语言:javascript代码运行次数:0运行复制

$ sudo ip addr
Linux:显示和管理IP址设置

图 2:使用 ip addr 命令显示接口信息,包括 MAC 地址和 IP 地址。

较旧的 Linux 系统使用 ifconfig 命令来实现此目的。

这些值是如何选择和分配的?管理员在安装操作系统时配置主机名。IP 地址可以由管理员手动配置,也可以由动态主机配置协议 (DHCP) 服务器动态分配。MAC 地址由其制造商硬编码。其中,您可能只更改系统的 hostname 和 IP 地址,这可能很少发生。

即使是简单的网络也会很快变得难以管理,因此许多 IT 部门会记录这些配置,以便在故障排除期间轻松参考。

管理系统主机名

系统主机名通常在安装 Linux 时设置。较大的组织通常使用特定的命名约定,以指示系统在网络中的角色或用途。较小的公司可能使用简单的名称。无论如何,系统名称在环境中必须是唯一的。

通过键入 hostname 命令显示当前主机名。

通过键入以下命令将系统的 hostname 临时更改为 comp99

代码语言:javascript代码运行次数:0运行复制

$ sudo hostname comp99.mycompany

但是,此名称分配将在系统下次重启时丢失。

如果您需要在安装操作系统后永久更改主机名,请使用 hostnamectl 命令。假设您需要将新主机名设置为 comp42mycompany 域中。使用以下命令:

代码语言:javascript代码运行次数:0运行复制

$ sudo hostnamectl set-hostname comp42.mycompany
Linux:显示和管理IP址设置

图 3:使用 hostnamectl 命令更新系统主机名。

此方法使更改在重启后保持持久。hostnamectl 命令修改 /etc/hostname 文件,因此您无需直接查找和编辑它。

更改系统的 hostname 意味着任何通过名称引用的脚本、网络映射或用户将不再能够这样做。因此,通常不建议通过主机名引用系统。IP 地址通常是引用网络服务器、打印机和其他设备的更好方法。

管理系统 IP 地址

管理员负责分配 IP 地址。他们可以通过在网络中的每个系统上手动输入唯一的 IP 地址(非常繁琐)来完成此操作,或者通过配置一个服务器,该服务器具有工作站可以从中租赁 IP 配置的地址池。大多数管理员通过为服务器和其他基本网络设备分配静态 IP 地址,并让工作站和最终用户设备从服务器租赁配置,来结合使用这两种方法。

静态 IP 地址配置

静态 IP 地址对于需要一致且不变的 IP 地址标识符的网络节点很有用。Linux 服务器就是一个很好的例子,打印机、路由器和其他基础设施设备也是如此。手动键入 IP 地址配置非常耗时,并且配置无法容忍打字错误或重复的 IP 地址分配,这使得这种方法在工作站和客户端设备的大规模应用中非常低效。

由于服务器和类似设备往往较少,因此静态分配对这些设备非常有效。您可以设置一个在重启后消失的临时 IP 地址,或者设置一个系统保留的持久设置,除非您更改它。

使用以下命令将临时 IP 地址分配给 eth0 网络接口:

代码语言:javascript代码运行次数:0运行复制

$ sudo ip addr add 192.168.2.200/24 dev eth0
Linux:显示和管理IP址设置

图 4:使用 ip 命令设置一个临时静态 IP 地址。

使用 del 子命令删除静态 IP 地址,如下所示:

代码语言:javascript代码运行次数:0运行复制

$ sudo ip addr del 192.168.2.200/24 dev eth0

请注意,上面的命令不会永久设置 IP 地址。它们只适用于当前运行时,并且不会在重启后保留。

您可能会发现 Linux 网络的 NetworkManager 组件更易于处理网络配置。该工具使用 nmcli 命令来管理网络设置,而不是直接编辑网络配置文件并重新启动网络服务。

键入 nmcli 命令而不带任何标志以查看是否安装了 NetworkManager:

代码语言:javascript代码运行次数:0运行复制

$ sudo nmcli
Linux:显示和管理IP址设置

图 5:nmcli 命令显示接口信息

并非所有发行版都使用 nmcli,但大多数与 Red Hat 相关的发行版都使用。如有必要,请使用发行版的包管理器(可能是 APT 或 DNF)安装 NetworkManager。对于 Debian 类系统,输入 sudo apt install network-manager。在 Red Hat 相关的系统上,输入 sudo dnf install NetworkManager

查看网络设备以识别您要使用的设备名称:

代码语言:javascript代码运行次数:0运行复制

$ sudo nmcli device status
Linux:显示和管理IP址设置

图 6:使用 nmcli 命令检查接口状态。

假设输出显示一个名为 enp0s5 的网络接口设备。使用以下 nmcli 命令配置 eth0 接口,其静态 IP 地址为 192.168.2.200子网掩码为 /24,默认网关为 192.168.2.1

代码语言:javascript代码运行次数:0运行复制

$ sudo nmcli con add con-name "static-connection" ifname eth0 type ethernet ip4 192.168.2.200/24 gw4 192.168.2.1
Linux:显示和管理IP址设置

图 7:使用 nmcli 命令设置固定的持久静态 IP 地址配置。

使用以下 nmcli 命令重新加载接口:

代码语言:javascript代码运行次数:0运行复制

$ sudo nmcli con down eth0$ sudo nmcli con up eth0

修改网络配置文件是使 IP 地址保持持久的另一种方法。这些文件因发行版而异,但这里有两个常见的示例。

在 Red Hat 和类似的发行版上,使用文本编辑器编辑以下文件:

代码语言:javascript代码运行次数:0运行复制

/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0

编辑 /etc/sysconfig/network 文件包含主机名、默认网关和 IPv6 配置的设置。

修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,添加合适的 IP 地址、子网掩码、网关(默认网关)和至少一个 DNS 服务器地址。

您应该使用 sudo systemctl restart network 命令重启网络服务。与其他命令一样,此命令在不同的发行版中可能有所不同。

Debian 及其相关发行版(Ubuntu、Mint 等)使用 Netplan 配置来管理网络。您指定的信息与 Red Hat 派生发行版相同。Netplan 是 NetworkManager 的一个接口,它使用 YAML 文件配置网络设置。

编辑 /etc/netplan 目录中的默认文件以添加网络接口的设置。请注意,此文件是 YAML 格式的,对语法(尤其是空格)非常挑剔。请记住使用 sudo 运行文本编辑器以提升您的权限。

以下是一个 enp0s5 接口的示例条目。只需将 IP 设置替换为您的网络的相应值即可。dhcp4: no 参数将其设置为静态 IP 地址。如果系统当前是 DHCP 客户端,则此行将读取 dhcp4: true。

代码语言:javascript代码运行次数:0运行复制

ethernets:  enp0s5:    dhcp4: no    addresses: [192.168.2.200/24]    gateway: 192.168.2.1    nameservers:      addresses: [192.168.2.10, 192.168.2.11]

保存并关闭文件,然后运行以下命令更新设置:

代码语言:javascript代码运行次数:0运行复制

$ sudo netplan apply

使用 ip addr 命令(或尝试 hostname -I 命令)确认 IP 地址是否正确。

编辑 YAML 文档 时要小心。YAML 对空格非常敏感,因此请确保与模板匹配。

如果您想将系统设置为 DHCP 客户端而不是维护静态 IP 地址配置,请通过删除 addresses 和 nameservers 行来编辑文件,然后将 DHCP 行设置为 dhcp4: true。然后系统将成为 DHCP 客户端。

使用图形界面进行静态 IP 配置

网络设置图形用户界面包含一个手动选项,允许管理员配置 IP 地址、子网掩码、网关和 DNS 服务器条目。请务必小心避免在此处出现打字错误。您还必须记住,网络上的任何系统都不能具有相同的 IP 地址,因此需要仔细记录静态分配的 IP 地址。此配置工具在各种发行版中相似,因为始终需要相同的网络设置。

Linux:显示和管理IP址设置

图 8: 图形用户界面界面需要的信息与命令行配置的信息相同。动态 IP 地址配置

最终用户工作站很少需要被网络上的其他系统发现。由于业务数据通常存储在 Linux 文件服务器上并从那里共享,因此用户系统上应该很少有其他系统必须引用的内容。因此,没有必要拥有永久的静态 IP 地址。让这些设备从中央服务器获取 IP 地址效率更高。

动态主机配置协议 (DHCP) 服务使管理员能够定义一个服务器,该服务器具有一个可用的 IP 地址池及其所有相关设置(子网掩码、默认网关/路由器等)。在引导过程中,DHCP 客户端设备发送网络广播请求使用 IP 地址。DHCP 将 IP 配置租借给客户端。与管理员进行静态配置相比,此过程更简单、更灵活、更快。它也更不容易出错。

DHCP 租约生成过程包括由客户端系统发起的四个步骤。这些步骤允许客户端请求 IP 设置并让 DHCP 服务器响应。

以下是步骤:

DHCPDiscover:客户端设备发出的广播,请求 DHCP 服务器。DHCPOffer:DHCP 服务器发出的响应,提供 IP 地址配置。DHCPRequest:DHCP 客户端发出的正式请求,请求使用提供的 IP 地址配置。DHCPAck:DHCP 服务器发出的对分配的配置的确认。

客户端设备定期向 DHCP 服务器进行检查以续订 IP 地址租约。

大多数客户端设备假设它们将是 DHCP 客户端,因此这通常是默认设置。从最终用户的角度来看,这意味着他们的计算机正在自行配置以进行网络连接。无论是在家庭环境还是企业网络中,您都可能将 Linux 系统保留为 DHCP 客户端。例如,当连接到咖啡店的无线网络和您的家庭时,Linux 笔记本电脑将是 DHCP 客户端。您希望笔记本电脑根据其所处的环境自行配置。

要使用 NetworkManager 将主机配置为 DHCP 客户端,请键入以下命令:

代码语言:javascript代码运行次数:0运行复制

$ sudo nmcli con modify eth0 ipv4.method auto

使用以下 nmcli 命令重新加载接口:

代码语言:javascript代码运行次数:0运行复制

$ sudo nmcli con down eth0$ sudo nmcli con up eth0

如上所述,要将基于 Debian 的发行版设置为 DHCP 客户端,请在 /etc/netplan 目录中编辑接口文件,并添加以下条目:

代码语言:javascript代码运行次数:0运行复制

dhcp4: true

使用图形界面配置 DHCP

图形网络配置工具提供了多种选项,包括自动(DHCP)或手动(静态)设置。自动设置将系统配置为 DHCP 客户端,使其能够完成上述租约生成过程。

Linux:显示和管理IP址设置

图 9:使用 GUI 界面将系统设置为 DHCP 客户端。

大多数发行版都有非常类似的 GUI 网络配置工具。这些设置始终是必需的,因此任何图形工具都应该易于理解。

默认网关配置

DHCP 服务器提供的首要设置是客户端的 IP 地址和子网掩码。但是,DHCP 服务器可能还会包含默认网关值。此值是子网中路由器的 IP 地址。客户端计算机不需要路由器才能与同一子网上的其他节点通信,但它们确实需要路由器才能与其他子网上的机器通信。如果系统需要将信息发送到与自身网络 ID 不同的节点,则会将消息转发到路由器。默认网关值让计算机知道路由器在此过程中的位置。

网关 IP 地址是 DHCP 服务器提供的 IP 地址设置的一部分。如果管理员手动配置 IP 地址,则必须在该配置中设置网关值。

配置名称解析

主机名和 IP 地址之间的关系至关重要。大多数人通过主机名来引用系统,但大多数网络设备识别 IP 地址来管理通信。如果最终用户必须记住 172.16.33.58 是“color-sales-printer”或 192.168.2.10 是“dev-dept-fileserver”,那将非常困难。想象一下,如果您必须通过其特定的 IP 地址来跟踪所有您喜欢的互联网网站!

名称解析是指存储和使用有关哪些主机名与哪些 IP 地址相关的信息。

域名系统 (DNS) 提供名称解析。此服务维护一个主机名和 IP 地址数据库。如果用户输入包含主机名的命令,例如 ping server07,他们的工作站将查询 DNS,询问 server07 的 IP 地址。计算机无法基于主机名进行通信;TCP/IP 通信需要 IP 地址。但是,由于 IP 地址对于人们来说很难记住,因此他们需要能够通过名称来引用系统。DNS 将这两个值关联起来,以便网络节点和用户可以使用正确的数据。

假设您告诉您的计算机 ping server07。由于它不知道如何处理此名称,因此它会询问 DNS 服务器,DNS 服务器会以相应的 IP 地址进行响应。

该过程基本上如下所示:

用户输入 ping server07他们的工作站不知道 server07 是什么,并且需要一个 IP 地址工作站向 DNS 服务器发送查询,询问:“server07 的 IP 地址是什么?”DNS 服务器检查其资源记录,直到找到显示“server07 = 192.168.2.22”的记录服务器响应工作站,说明:“server07 的 IP 地址是 192.168.2.22”工作站运行 ping 192.168.2.22

工作站必须知道 DNS 服务器的 IP 地址,以便它可以发送查询。此设置对于计算机至关重要。DHCP 服务器通常会提供它,以及计算机的 IP 地址、子网掩码和默认网关。

以上就是Linux:显示和管理IP址设置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/14130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何使用Hyperf框架进行权限认证
上一篇 2025年11月24日 06:20:24
配置php连接mssql的连接池_提升php连接mssql的并发效率
下一篇 2025年11月24日 06:22:26

相关推荐

  • composer require-dev和require有什么不同_Composer Require与Require-Dev区别解析

    require用于声明项目运行必需的依赖,如框架、数据库组件和第三方SDK,这些包会随项目部署到生产环境;2. require-dev用于声明仅在开发和测试阶段需要的工具,如PHPUnit、PHPStan、Faker等,不会默认部署到生产环境;3. 安装时composer install根据环境决定…

    2026年5月10日
    1000
  • Matplotlib 地图中多类型图例的创建与优化

    Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化

    本教程旨在解决matplotlib地图可视化中,如何在一个图例中同时展示颜色块(如区域分类)和自定义标记(如特定兴趣点)的问题。文章详细介绍了当传统`patch`对象无法正确显示标记时,如何利用`matplotlib.lines.line2d`创建标记图例句柄,并将其与颜色块图例句柄合并,从而生成一…

    2026年5月10日 用户投稿
    100
  • 利用海象运算符简化条件赋值:Python教程与最佳实践

    本文旨在探讨Python中海象运算符(:=)在条件赋值场景下的应用。通过对比传统if/else语句与海象运算符,以及条件表达式,分析海象运算符在简化代码、提高可读性方面的优势与局限性。并通过具体示例,展示如何在列表推导式等场景下合理使用海象运算符,同时强调其潜在的复杂性及替代方案,帮助开发者更好地掌…

    2026年5月10日
    100
  • Debian syslog性能优化技巧有哪些

    提升Debian系统syslog (通常基于rsyslog)性能,关键在于精简配置和高效处理日志。以下策略能有效优化日志管理,提升系统整体性能: 精简配置,高效加载: 在rsyslog配置文件中,仅加载必要的输入、输出和解析模块。 使用全局指令设置日志级别和格式,避免不必要的处理。 自定义模板: 创…

    2026年5月10日
    000
  • 怎么在PHP代码中实现图片上传功能_PHP图片上传功能实现与安全处理教程

    首先创建含enctype的HTML表单,再用PHP接收文件,检查目录、移动临时文件,验证类型与大小,生成唯一文件名,并调整php.ini限制以确保上传成功。 如果您尝试在PHP项目中添加图片上传功能,但服务器无法正确接收或保存文件,则可能是由于表单配置、文件处理逻辑或安全限制的问题。以下是实现该功能…

    2026年5月10日
    100
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • c++中的SFINAE技术是什么_c++模板编程中的SFINAE原理与应用

    SFINAE 是“替换失败不是错误”的原则,指模板实例化时若参数替换导致错误,只要存在其他合法候选,编译器不报错而是继续重载决议。它用于条件启用模板、类型检测等场景,如通过 decltype 或 enable_if 控制函数重载,实现类型特征判断。尽管 C++20 引入 Concepts 简化了部分…

    2026年5月10日
    000
  • RichHandler与Rich Progress集成:解决显示冲突的教程

    在使用rich库的`richhandler`进行日志输出并同时使用`progress`组件时,可能会遇到显示错乱或溢出问题。这通常是由于为`richhandler`和`progress`分别创建了独立的`console`实例导致的。解决方案是确保日志处理器和进度条组件共享同一个`console`实例…

    2026年5月10日
    000
  • 修复点击时按钮抖动:CSS垂直对齐实践

    本文探讨了在Web开发中,交互式按钮(如播放/暂停按钮)在点击时发生意外垂直位移的问题。通过分析CSS样式变化对元素布局的影响,我们发现这是由于按钮不同状态下的边框样式和内边距改变,以及默认的垂直对齐行为共同作用所致。核心解决方案是利用CSS的vertical-align属性,将其设置为middle…

    2026年5月10日
    100
  • Golang goroutine与channel调试技巧

    使用go run -race检测数据竞争,结合runtime.NumGoroutine监控协程数量,通过pprof分析阻塞调用栈,利用select超时避免永久阻塞,有效排查goroutine泄漏、死锁和数据竞争问题。 Go语言的goroutine和channel是并发编程的核心,但它们也带来了调试上…

    2026年5月10日
    000
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • php常量怎么用_PHP常量(define/const)定义与使用方法

    PHP中可通过define函数和const关键字定义常量,用于存储不可变值。define适用于全局作用域,支持动态名称和条件定义,如define(‘SITE_NAME’, ‘MyWebsite’);const在编译时生效,语法简洁但限制多,只能在类或全…

    2026年5月10日
    000
  • 网站标题关键词更新后,搜索引擎为何仍显示旧标题?

    网站标题更新后,搜索引擎为何显示旧标题? 网站SEO优化中,站长常修改网站标题关键词,期望搜索结果显示自定义标题。然而,即使更新标签、meta keywords、meta description和结构化数据中的name属性后,搜索结果仍显示旧标题,这令人费解。本文将对此进行解释。 问题:站长修改了网…

    2026年5月10日
    100
  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • 使用 WebCodecs VideoDecoder 实现精确逐帧回退

    本文档旨在解决在使用 WebCodecs VideoDecoder 进行视频解码时,实现精确逐帧回退的问题。通过比较帧的时间戳与目标帧的时间戳,可以避免渲染中间帧,从而提高用户体验。本文将提供详细的解决方案和示例代码,帮助开发者实现精确的视频帧控制。 在使用 WebCodecs VideoDecod…

    2026年5月10日
    000
  • 如何插入查询结果数据_SQL插入Select查询结果方法

    如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法

    使用INSERT INTO…SELECT语句可高效插入数据,通过NOT EXISTS、LEFT JOIN、MERGE语句或唯一约束避免重复;表结构不一致时可通过别名、类型转换、默认值或计算字段处理;结合存储过程可提升可维护性,支持参数化与动态SQL。 将查询结果数据插入到另一个表中,可以…

    2026年5月10日 用户投稿
    000
  • python中zip函数详解 python多序列压缩zip函数应用场景

    zip函数的应用场景包括:1) 同时遍历多个序列,2) 合并多个列表的数据,3) 数据分析和科学计算中的元素运算,4) 处理csv文件,5) 性能优化。zip函数是一个强大的工具,能够简化代码并提高处理多个序列时的效率。 在Python中,zip函数是一个非常有用的工具,它能够将多个可迭代对象打包成…

    2026年5月10日
    000
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    100
  • html5怎么画实线_HTML5用CSS border-style:solid画元素实线边框【绘制】

    可通过CSS的border-style属性设为solid添加实线边框:一、内联样式用border:2px solid #000;二、内部样式表统一设置如div{border:1px solid #333};三、外部CSS文件定义.my-box{border:3px solid red}并引入;四、单…

    2026年5月10日
    200
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100

发表回复

登录后才能评论
关注微信