URL (Uniform Resource Locator,统一资源定位符) 是互联网上唯一资源的地址。它是 浏览器 用于检索已发布资源(如 HTML 页面、CSS 文档、图像等)的关键机制之一。
理论上,每个有效的 URL 都指向一个唯一的资源。实际上,有一些例外,最常见的是 URL 指向一个已不存在或已移动的资源。由于 URL 所代表的资源和 URL 本身由 Web 服务器处理,因此由 Web 服务器所有者负责仔细管理该资源及其关联的 URL。
以下是一些 URL 示例
https://mdn.org.cn
https://mdn.org.cn/en-US/docs/Learn_web_development/
https://mdn.org.cn/en-US/search?q=URL
您可以在浏览器的地址栏中输入以上任意一个 URL,以告诉浏览器加载相应的资源,这三个示例都是 Web 页面。
URL 由不同的部分组成,有些是必需的,有些是可选的。最重要的部分已在下面的 URL 中高亮显示(详细信息将在后续章节中提供)
注意: 您可以将 URL 想象成一个普通的邮政地址:协议 代表您要使用的邮政服务,域名 是城市或乡镇,端口 类似于邮政编码;路径 代表您的邮件应送达的建筑物;参数 代表额外信息,例如建筑物内的公寓号;最后,锚点 代表您要邮寄的实际收件人。
URL 的第一部分是协议 ,它指示浏览器必须使用哪个协议来请求资源(协议是围绕计算机网络交换或传输数据的规定方法)。通常对于网站,协议是 HTTPS 或 HTTP(其不安全版本)。寻址网页需要这两个协议之一,但浏览器也知道如何处理其他协议,例如 mailto:(用于打开邮件客户端),因此如果您看到其他协议也不足为奇。
接下来是权限 ,它由 :// 字符模式与协议分隔。如果存在,权限将同时包含域 (例如,www.example.com)和端口 (80),并用冒号分隔
域指示正在请求哪个 Web 服务器。通常这是一个 域名 ,但也可以使用 IP 地址 (但这很少见,因为不方便得多)。
端口指示用于访问 Web 服务器上资源的“技术门”。如果 Web 服务器使用 HTTP 协议的标准端口(HTTP 为 80,HTTPS 为 443)来授予对其资源的访问权限,则通常会省略它。否则,它是强制性的。
注意: 协议和权限之间的分隔符是 ://。冒号将协议与 URL 的下一部分分隔开,而 // 表示 URL 的下一部分是权限。
一个不使用权限的 URL 示例是邮件客户端(mailto:foobar)。它包含协议但未使用权限组件。因此,冒号后面没有两个斜杠,仅作为协议和邮件地址之间的分隔符。
/path/to/myfile.html 是 Web 服务器上资源的路径。在 Web 的早期,这样的路径表示 Web 服务器上的物理文件位置。如今,它主要是 Web 服务器处理的一种抽象,没有实际的物理实体。
?key1=value1&key2=value2 是提供给 Web 服务器的额外参数。这些参数是由 & 符号分隔的键/值对列表。Web 服务器可以使用这些参数在返回资源之前执行额外的操作。每个 Web 服务器对参数都有自己的规则,要了解特定 Web 服务器是否处理参数的唯一可靠方法是询问 Web 服务器所有者。
#SomewhereInTheDocument 是指向资源本身另一部分的锚点。锚点代表资源内的某种“书签”,为浏览器提供了显示位于该“书签”位置的内容的指示。例如,在 HTML 文档中,浏览器将滚动到定义锚点的位置;在视频或音频文档中,浏览器将尝试转到锚点表示的时间。值得注意的是,# 之后的这部分,也称为片段标识符 ,在请求中永远不会发送到服务器。
任何 URL 都可以直接在浏览器的地址栏中键入以访问其背后的资源。但这只是冰山一角!
HTML 语言(请参阅 HTML 结构化内容 )广泛使用 URL
注意: 在指定 URL 以加载页面的一部分资源时(例如使用 <script>、<audio>、<img>、<video> 等),您通常应只使用 HTTP 和 HTTPS URL,有极少数例外(一个值得注意的例外是 data:;请参阅 Data URLs )。例如,使用 FTP 不安全,并且不再受现代浏览器支持。
其他技术,例如 CSS 或 JavaScript ,也广泛使用 URL,而这些确实是 Web 的核心。
我们上面看到的称为绝对 URL ,但还有一个称为相对 URL 的概念。 URL 标准 定义了两者 — 尽管它使用术语 绝对 URL 字符串 和 相对 URL 字符串 ,以区别于 URL 对象 (它们是 URL 的内存表示)。
让我们在 URL 的上下文中检查一下绝对 和相对 之间的区别意味着什么。
URL 的必需部分在很大程度上取决于 URL 使用的上下文。在浏览器的地址栏中,URL 没有上下文,因此您必须提供一个完整(或绝对 )的 URL,就像我们上面看到的那些。您不需要包含协议(浏览器默认使用 HTTP)或端口(只有在目标 Web 服务器使用非标准端口时才需要),但 URL 的所有其他部分都是必需的。
当 URL 在文档中使用时(例如在 HTML 页面中),情况略有不同。由于浏览器已经拥有文档本身的 URL,它可以利用此信息来填充该文档中任何 URL 的缺失部分。我们可以通过只查看 URL 的路径 部分来区分绝对 URL 和相对 URL 。如果 URL 的路径部分以 / 字符开头,浏览器将从服务器的顶层根目录获取该资源,而无需参考当前文档提供的上下文。
让我们看一些例子来进一步说明。假设 URL 是从以下 URL 定位的文档中定义的:https://mdn.org.cn/en-US/docs/Learn_web_development。
https://mdn.org.cn/en-US/docs/Learn_web_development 本身是一个绝对 URL。它具有定位其指向资源所需的所有必要部分。
以下所有 URL 都是相对 URL
协议相对 URL://mdn.org.cn/en-US/docs/Learn_web_development — 只缺少协议。浏览器将使用与加载托管该 URL 的文档相同的协议。
域名相对 URL:/en-US/docs/Learn_web_development — 协议和域名都已丢失。浏览器将使用与加载托管该 URL 的文档相同的协议和相同的域名。
子资源:Howto/Web_mechanics/What_is_a_URL — 协议和域名丢失,路径不以 / 开头。浏览器将尝试在当前资源所在的子目录中查找文档。在这种情况下,我们真正想访问的 URL 是:https://mdn.org.cn/en-US/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_URL。
返回目录树:../CSS/display — 协议和域名丢失,路径以 .. 开头。这继承自 UNIX 文件系统 — 告诉浏览器我们想向上移动一级。在这里,我们想访问的 URL 是:https://mdn.org.cn/en-US/docs/Learn_web_development/../Web/CSS/display,可以简化为:https://mdn.org.cn/en-US/docs/Web/CSS/display。
仅锚点:#semantic_urls - 除锚点外,所有部分都已丢失。浏览器将使用当前文档的 URL 并替换或添加锚点部分。当您想链接到当前文档的特定部分时,这很有用。
上面讨论的 URL 部分不如下面描述的常见,您可能会在 URL 中看到包含用户名和密码。
例如
https://username:[email protected] :80/
如果包含,用户名和密码会放在 :// 字符和权限之间,两个之间用冒号分隔,末尾用 at 符号 (@)。
当访问使用 HTTP 身份验证 安全机制的网站时,可以在 URL 中包含用户名和密码,以立即登录网站并绕过否则会出现的用户名/密码对话框以输入您的凭据。
尽管您可能仍会看到此机制在实际中使用,但由于安全问题,它已被弃用,并且现代网站倾向于使用其他身份验证机制。有关更多详细信息,请参阅 通过 URL 中的凭据访问 。
尽管 URL 具有非常技术性的味道,但它们代表了网站的可读入口点。它们可以被记住,任何人都可以将它们输入到浏览器的地址栏中。人是 Web 的核心,因此构建所谓的 语义化 URL 被认为是最佳实践。语义化 URL 使用具有固有含义的单词,这些单词可以被任何人理解,无论其技术知识如何。
语言语义对计算机来说当然是无关紧要的。您可能经常看到看起来像随机字符组合的 URL。但是,创建人类可读的 URL 有许多优点
对您来说更容易操作它们。
它向用户清楚地说明了他们在 Web 上的位置、正在做什么、正在阅读或与之交互的内容。
一些搜索引擎可以利用这些语义来改进相关页面的分类。
Data URLs :以 data: 协议为前缀的 URL,允许内容创建者将小文件嵌入到文档中。
帮助改进 MDN
<>.content-feedback{border:none;margin:0 0 .25rem;padding:0}.content-feedback>label{display:block;margin-bottom:.25rem}.content-feedback .thank-you{display:block;margin-bottom:calc(2.75rem + 2px)}.content-feedback mdn-button{flex:1;min-width:0}.content-feedback--buttons{display:inline-flex;gap:.75rem;margin:.25rem 0}.content-feedback--radios{align-items:center;display:flex;gap:.25rem;margin:.25rem 0}>
此页面对您有帮助吗?
<>.button{align-items:center;background-color:initial;border:1px solid #0000;border-radius:.25rem;color:var(--color-text-primary);column-gap:.3125em;cursor:pointer;display:inline-flex;font-family:var(--font-family-text);font-size:.875em;font-weight:450;justify-content:center;line-height:var(--font-line-ui);margin:0;padding:.5em;-webkit-text-decoration:none;text-decoration:none;vertical-align:middle}.button[data-variant=primary]{--csstools-light-dark-toggle-33eaa513-0:var(--csstools-color-scheme--light) var(--color-black);color:var(--csstools-light-dark-toggle-33eaa513-0,var(--color-white));--csstools-light-dark-toggle-33eaa513-1:var(--csstools-color-scheme--light) var(--color-white);background-color:var(--csstools-light-dark-toggle-33eaa513-1,var(--color-black))}@supports (color:light-dark(red,red)){.button[data-variant=primary]{background-color:light-dark(var(--color-black),var(--color-white));color:light-dark(var(--color-white),var(--color-black))}}.button[data-variant=primary]:hover{--csstools-light-dark-toggle-33eaa513-2:var(--csstools-color-scheme--light) var(--color-gray-80);background-color:var(--csstools-light-dark-toggle-33eaa513-2,var(--color-gray-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary]:hover{background-color:light-dark(var(--color-gray-20),var(--color-gray-80))}}.button[data-variant=primary][data-action=positive]{color:var(--color-white);--csstools-light-dark-toggle-33eaa513-3:var(--csstools-color-scheme--light) var(--color-green-20);background-color:var(--csstools-light-dark-toggle-33eaa513-3,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=positive]{background-color:light-dark(var(--color-green-50),var(--color-green-20))}}.button[data-variant=primary][data-action=positive]:hover{--csstools-light-dark-toggle-33eaa513-4:var(--csstools-color-scheme--light) var(--color-green-50);background-color:var(--csstools-light-dark-toggle-33eaa513-4,var(--color-green-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=positive]:hover{background-color:light-dark(var(--color-green-20),var(--color-green-50))}}.button[data-variant=primary][data-action=negative]{color:var(--color-white);--csstools-light-dark-toggle-33eaa513-5:var(--csstools-color-scheme--light) var(--color-red-20);background-color:var(--csstools-light-dark-toggle-33eaa513-5,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=negative]{background-color:light-dark(var(--color-red-50),var(--color-red-20))}}.button[data-variant=primary][data-action=negative]:hover{--csstools-light-dark-toggle-33eaa513-6:var(--csstools-color-scheme--light) var(--color-red-50);background-color:var(--csstools-light-dark-toggle-33eaa513-6,var(--color-red-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=negative]:hover{background-color:light-dark(var(--color-red-20),var(--color-red-50))}}.button[data-variant=secondary]{border-color:currentcolor}.button[data-variant=secondary]:hover{--csstools-light-dark-toggle-33eaa513-7:var(--csstools-color-scheme--light) var(--color-gray-20);background-color:var(--csstools-light-dark-toggle-33eaa513-7,var(--color-gray-80))}@supports (color:light-dark(red,red)){.button[data-variant=secondary]:hover{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))}}.button[data-variant=secondary][data-action=positive]{--csstools-light-dark-toggle-33eaa513-8:var(--csstools-color-scheme--light) var(--color-green-80);color:var(--csstools-light-dark-toggle-33eaa513-8,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=positive]{color:light-dark(var(--color-green-50),var(--color-green-80))}}.button[data-variant=secondary][data-action=positive]:hover{--csstools-light-dark-toggle-33eaa513-9:var(--csstools-color-scheme--light) var(--color-green-10);background-color:var(--csstools-light-dark-toggle-33eaa513-9,var(--color-green-90))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=positive]:hover{background-color:light-dark(var(--color-green-90),var(--color-green-10))}}.button[data-variant=secondary][data-action=negative]{--csstools-light-dark-toggle-33eaa513-10:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-33eaa513-10,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=negative]{color:light-dark(var(--color-red-50),var(--color-red-80))}}.button[data-variant=secondary][data-action=negative]:hover{--csstools-light-dark-toggle-33eaa513-11:var(--csstools-color-scheme--light) var(--color-red-10);background-color:var(--csstools-light-dark-toggle-33eaa513-11,var(--color-red-90))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=negative]:hover{background-color:light-dark(var(--color-red-90),var(--color-red-10))}}.button[data-variant=plain]:hover{--csstools-light-dark-toggle-33eaa513-12:var(--csstools-color-scheme--light) var(--color-gray-20);background-color:var(--csstools-light-dark-toggle-33eaa513-12,var(--color-gray-80))}@supports (color:light-dark(red,red)){.button[data-variant=plain]:hover{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))}}.button[data-variant=plain][data-action=positive]{--csstools-light-dark-toggle-33eaa513-13:var(--csstools-color-scheme--light) var(--color-green-80);color:var(--csstools-light-dark-toggle-33eaa513-13,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=positive]{color:light-dark(var(--color-green-50),var(--color-green-80))}}.button[data-variant=plain][data-action=positive]:hover{--csstools-light-dark-toggle-33eaa513-14:var(--csstools-color-scheme--light) var(--color-green-10);background-color:var(--csstools-light-dark-toggle-33eaa513-14,var(--color-green-90))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=positive]:hover{background-color:light-dark(var(--color-green-90),var(--color-green-10))}}.button[data-variant=plain][data-action=negative]{--csstools-light-dark-toggle-33eaa513-15:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-33eaa513-15,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=negative]{color:light-dark(var(--color-red-50),var(--color-red-80))}}.button[data-variant=plain][data-action=negative]:hover{--csstools-light-dark-toggle-33eaa513-16:var(--csstools-color-scheme--light) var(--color-red-10);background-color:var(--csstools-light-dark-toggle-33eaa513-16,var(--color-red-90))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=negative]:hover{background-color:light-dark(var(--color-red-90),var(--color-red-10))}}.button[disabled]{--csstools-light-dark-toggle-33eaa513-17:var(--csstools-color-scheme--light) var(--color-gray-60)!important;color:var(--csstools-light-dark-toggle-33eaa513-17,var(--color-gray-40))!important;cursor:default;--csstools-light-dark-toggle-33eaa513-18:var(--csstools-color-scheme--light) var(--color-gray-20)!important;background-color:var(--csstools-light-dark-toggle-33eaa513-18,var(--color-gray-80))!important;border-color:#0000}@supports (color:light-dark(red,red)){.button[disabled]{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))!important;color:light-dark(var(--color-gray-40),var(--color-gray-60))!important}}.button .icon{display:flex}.button svg{height:1.25em;width:1.25em}.button .label{padding-block:.125em;padding-inline:.0625em}:host{display:inline-flex;vertical-align:middle}.button{box-sizing:border-box;height:100%;width:100%}>
是
<>.button{align-items:center;background-color:initial;border:1px solid #0000;border-radius:.25rem;color:var(--color-text-primary);column-gap:.3125em;cursor:pointer;display:inline-flex;font-family:var(--font-family-text);font-size:.875em;font-weight:450;justify-content:center;line-height:var(--font-line-ui);margin:0;padding:.5em;-webkit-text-decoration:none;text-decoration:none;vertical-align:middle}.button[data-variant=primary]{--csstools-light-dark-toggle-33eaa513-0:var(--csstools-color-scheme--light) var(--color-black);color:var(--csstools-light-dark-toggle-33eaa513-0,var(--color-white));--csstools-light-dark-toggle-33eaa513-1:var(--csstools-color-scheme--light) var(--color-white);background-color:var(--csstools-light-dark-toggle-33eaa513-1,var(--color-black))}@supports (color:light-dark(red,red)){.button[data-variant=primary]{background-color:light-dark(var(--color-black),var(--color-white));color:light-dark(var(--color-white),var(--color-black))}}.button[data-variant=primary]:hover{--csstools-light-dark-toggle-33eaa513-2:var(--csstools-color-scheme--light) var(--color-gray-80);background-color:var(--csstools-light-dark-toggle-33eaa513-2,var(--color-gray-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary]:hover{background-color:light-dark(var(--color-gray-20),var(--color-gray-80))}}.button[data-variant=primary][data-action=positive]{color:var(--color-white);--csstools-light-dark-toggle-33eaa513-3:var(--csstools-color-scheme--light) var(--color-green-20);background-color:var(--csstools-light-dark-toggle-33eaa513-3,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=positive]{background-color:light-dark(var(--color-green-50),var(--color-green-20))}}.button[data-variant=primary][data-action=positive]:hover{--csstools-light-dark-toggle-33eaa513-4:var(--csstools-color-scheme--light) var(--color-green-50);background-color:var(--csstools-light-dark-toggle-33eaa513-4,var(--color-green-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=positive]:hover{background-color:light-dark(var(--color-green-20),var(--color-green-50))}}.button[data-variant=primary][data-action=negative]{color:var(--color-white);--csstools-light-dark-toggle-33eaa513-5:var(--csstools-color-scheme--light) var(--color-red-20);background-color:var(--csstools-light-dark-toggle-33eaa513-5,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=negative]{background-color:light-dark(var(--color-red-50),var(--color-red-20))}}.button[data-variant=primary][data-action=negative]:hover{--csstools-light-dark-toggle-33eaa513-6:var(--csstools-color-scheme--light) var(--color-red-50);background-color:var(--csstools-light-dark-toggle-33eaa513-6,var(--color-red-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=negative]:hover{background-color:light-dark(var(--color-red-20),var(--color-red-50))}}.button[data-variant=secondary]{border-color:currentcolor}.button[data-variant=secondary]:hover{--csstools-light-dark-toggle-33eaa513-7:var(--csstools-color-scheme--light) var(--color-gray-20);background-color:var(--csstools-light-dark-toggle-33eaa513-7,var(--color-gray-80))}@supports (color:light-dark(red,red)){.button[data-variant=secondary]:hover{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))}}.button[data-variant=secondary][data-action=positive]{--csstools-light-dark-toggle-33eaa513-8:var(--csstools-color-scheme--light) var(--color-green-80);color:var(--csstools-light-dark-toggle-33eaa513-8,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=positive]{color:light-dark(var(--color-green-50),var(--color-green-80))}}.button[data-variant=secondary][data-action=positive]:hover{--csstools-light-dark-toggle-33eaa513-9:var(--csstools-color-scheme--light) var(--color-green-10);background-color:var(--csstools-light-dark-toggle-33eaa513-9,var(--color-green-90))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=positive]:hover{background-color:light-dark(var(--color-green-90),var(--color-green-10))}}.button[data-variant=secondary][data-action=negative]{--csstools-light-dark-toggle-33eaa513-10:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-33eaa513-10,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=negative]{color:light-dark(var(--color-red-50),var(--color-red-80))}}.button[data-variant=secondary][data-action=negative]:hover{--csstools-light-dark-toggle-33eaa513-11:var(--csstools-color-scheme--light) var(--color-red-10);background-color:var(--csstools-light-dark-toggle-33eaa513-11,var(--color-red-90))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=negative]:hover{background-color:light-dark(var(--color-red-90),var(--color-red-10))}}.button[data-variant=plain]:hover{--csstools-light-dark-toggle-33eaa513-12:var(--csstools-color-scheme--light) var(--color-gray-20);background-color:var(--csstools-light-dark-toggle-33eaa513-12,var(--color-gray-80))}@supports (color:light-dark(red,red)){.button[data-variant=plain]:hover{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))}}.button[data-variant=plain][data-action=positive]{--csstools-light-dark-toggle-33eaa513-13:var(--csstools-color-scheme--light) var(--color-green-80);color:var(--csstools-light-dark-toggle-33eaa513-13,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=positive]{color:light-dark(var(--color-green-50),var(--color-green-80))}}.button[data-variant=plain][data-action=positive]:hover{--csstools-light-dark-toggle-33eaa513-14:var(--csstools-color-scheme--light) var(--color-green-10);background-color:var(--csstools-light-dark-toggle-33eaa513-14,var(--color-green-90))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=positive]:hover{background-color:light-dark(var(--color-green-90),var(--color-green-10))}}.button[data-variant=plain][data-action=negative]{--csstools-light-dark-toggle-33eaa513-15:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-33eaa513-15,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=negative]{color:light-dark(var(--color-red-50),var(--color-red-80))}}.button[data-variant=plain][data-action=negative]:hover{--csstools-light-dark-toggle-33eaa513-16:var(--csstools-color-scheme--light) var(--color-red-10);background-color:var(--csstools-light-dark-toggle-33eaa513-16,var(--color-red-90))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=negative]:hover{background-color:light-dark(var(--color-red-90),var(--color-red-10))}}.button[disabled]{--csstools-light-dark-toggle-33eaa513-17:var(--csstools-color-scheme--light) var(--color-gray-60)!important;color:var(--csstools-light-dark-toggle-33eaa513-17,var(--color-gray-40))!important;cursor:default;--csstools-light-dark-toggle-33eaa513-18:var(--csstools-color-scheme--light) var(--color-gray-20)!important;background-color:var(--csstools-light-dark-toggle-33eaa513-18,var(--color-gray-80))!important;border-color:#0000}@supports (color:light-dark(red,red)){.button[disabled]{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))!important;color:light-dark(var(--color-gray-40),var(--color-gray-60))!important}}.button .icon{display:flex}.button svg{height:1.25em;width:1.25em}.button .label{padding-block:.125em;padding-inline:.0625em}:host{display:inline-flex;vertical-align:middle}.button{box-sizing:border-box;height:100%;width:100%}>
否
了解如何贡献 此页面最后修改于 2025年6月6日 ,作者为 MDN 贡献者 。