XML的XPath轴(axis)有哪些?如何使用它们导航?

选择合适的xpath轴能显著提升查询性能和准确性,应优先使用child::和attribute::等高效轴,避免滥用//,结合谓语过滤,注意命名空间和上下文节点,防止陷入性能差、匹配不精确等常见陷阱,最终实现高效精准的xml导航。

XML的XPath轴(axis)有哪些?如何使用它们导航?

XPath轴是XML文档中用于从一个“上下文节点”出发,根据其与目标节点的关系来定位和导航的机制。它们定义了遍历的方向和范围,比如你是想找父节点、子节点、兄弟节点,还是文档中在它之后出现的任何节点。理解这些轴是高效使用XPath的关键,它让你可以精准地穿梭于复杂的XML结构之中。

解决方案

在我的日常工作中,XML文档的解析和数据提取是常态,XPath轴就是我手里那把最锋利的瑞士军刀。它不仅仅是路径表达式的一部分,更是对XML树结构深层理解的体现。

我们来细数一下那些我经常用到的,以及它们是如何帮助我导航的:

1. 基础关系轴:精准定位近邻

self

(自身轴):这个轴很简单,就是指当前节点本身。比如,如果你已经定位到一个


节点,

self::book

仍然指向它。我常常用它在谓语中进行条件判断,比如

book[self::book/@id='123']

,虽然直接写

book[@id='123']

更常见,但理解

self

有助于理解上下文。

child

(子节点轴):这是最常用的轴之一,用于选择当前节点的直接子元素。比如,

bookstore/book/child::title

会选择所有


下的

</pre>
<div class="contentsignin"></div>
</div>
<p>子元素。我个人觉得,当你明确知道下一级结构时,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">child::</pre>
<div class="contentsignin"></div>
</div>
<p>是最高效且直观的选择。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">parent</pre>
<div class="contentsignin"></div>
</div>
<p> (父节点轴)</strong>:顾名思义,选择当前节点的直接父节点。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title/parent::book</pre>
<div class="contentsignin"></div>
</div>
<p>会从</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"><title></pre>
<div class="contentsignin"></div>
</div>
<p>节点跳回到它的父节点</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>。在需要回溯查找父级信息时,这轴非常有用。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">attribute</pre>
<div class="contentsignin"></div>
</div>
<p> (属性轴)</strong>:选择当前节点的所有属性。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">book/attribute::id</pre>
<div class="contentsignin"></div>
</div>
<p>会选择</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>节点上的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">id</pre>
<div class="contentsignin"></div>
</div>
<p>属性。通常,我们用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">@id</pre>
<div class="contentsignin"></div>
</div>
<p>作为简写,但我认为理解</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">attribute::</pre>
<div class="contentsignin"></div>
</div>
<p>的完整形式,能让你更清楚地知道它在语义上属于一个“轴”。</p>
<p><strong>2. 层次遍历轴:深入或回溯整个分支</strong></p>
<p><strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">descendant</pre>
<div class="contentsignin"></div>
</div>
<p> (后代轴)</strong>:选择当前节点的所有后代节点(子节点、孙节点等等)。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">bookstore/descendant::author</pre>
<div class="contentsignin"></div>
</div>
<p>会找出</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>下所有层级的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>节点。这个轴的简写是</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//</pre>
<div class="contentsignin"></div>
</div>
<p>,比如</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//author</pre>
<div class="contentsignin"></div>
</div>
<p>,我发现很多人过度依赖</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//</pre>
<div class="contentsignin"></div>
</div>
<p>,导致XPath表达式效率不高,有时甚至会匹配到意想不到的节点。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">descendant-or-self</pre>
<div class="contentsignin"></div>
</div>
<p> (自身或后代轴)</strong>:选择当前节点以及它的所有后代节点。如果你想包含当前节点在搜索范围内,这个轴就很有用。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">ancestor</pre>
<div class="contentsignin"></div>
</div>
<p> (祖先轴)</strong>:选择当前节点的所有祖先节点(父节点、祖父节点等等),直到文档根节点。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">author/ancestor::book</pre>
<div class="contentsignin"></div>
</div>
<p>会从</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>节点向上找到它的所有</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>祖先。这在需要追溯数据来源或更高层级上下文时非常强大。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">ancestor-or-self</pre>
<div class="contentsignin"></div>
</div>
<p> (自身或祖先轴)</strong>:选择当前节点以及它的所有祖先节点。</p>
<p><strong>3. 同级与文档顺序轴:横向与全局遍历</strong></p>
<p><strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following-sibling</pre>
<div class="contentsignin"></div>
</div>
<p> (后续兄弟轴)</strong>:选择当前节点之后的所有同级节点。比如,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title/following-sibling::author</pre>
<div class="contentsignin"></div>
</div>
<p>会选择与</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"><title></pre>
<div class="contentsignin"></div>
</div>
<p>同级且在其之后出现的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>节点。这个轴在处理列表数据,或者需要根据顺序定位时非常方便。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">preceding-sibling</pre>
<div class="contentsignin"></div>
</div>
<p> (先行兄弟轴)</strong>:选择当前节点之前的所有同级节点。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title/preceding-sibling::publisher</pre>
<div class="contentsignin"></div>
</div>
<p>就是找到</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"><title></pre>
<div class="contentsignin"></div>
</div>
<p>之前的所有</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>兄弟节点。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following</pre>
<div class="contentsignin"></div>
</div>
<p> (后续轴)</strong>:选择文档中在当前节点之后出现的所有节点,不包括其后代节点。这是一个非常宽泛的轴,通常用于查找与当前节点在文档流中相关联但不在其子树内的节点。<strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">preceding</pre>
<div class="contentsignin"></div>
</div>
<p> (先行轴)</strong>:选择文档中在当前节点之前出现的所有节点,不包括其祖先节点。与</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following</pre>
<div class="contentsignin"></div>
</div>
<p>类似,但方向相反。</p>
<p>理解这些轴的含义和用法,是写出高效、准确XPath表达式的基础。我常常在面对新的XML结构时,先用这些轴在脑子里勾勒出可能的路径,再通过<span class="wpcom_tag_link"><a href="https://www.chuangxiangniao.com/p/tag/gongju" title="工具" target="_blank">工具</a></span>验证。</p>
<h3>如何选择合适的XPath轴来优化查询性能?</h3>
<p>选择XPath轴,在我看来,不仅仅是语法问题,更是性能和精确性的权衡。我曾遇到过一个巨大的XML日志文件,几百兆,用错XPath轴直接导致程序卡死。</p>
<p>一个常见的误区是,很多人为了方便,无脑使用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//</pre>
<div class="contentsignin"></div>
</div>
<p>(</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">descendant-or-self</pre>
<div class="contentsignin"></div>
</div>
<p>的简写)。比如,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//orderId</pre>
<div class="contentsignin"></div>
</div>
<p>。这在小型XML文件上可能没什么问题,但在大型文件上,它意味着解析器要遍历整个文档树,查找所有名为</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">orderId</pre>
<div class="contentsignin"></div>
</div>
<p>的节点,效率会非常低下。我个人经验是,如果能明确路径,尽量避免</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//</pre>
<div class="contentsignin"></div>
</div>
<p>。</p>
<p><strong>我的优化策略通常是这样的:</strong></p>
<p><strong>优先使用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">child::</pre>
<div class="contentsignin"></div>
</div>
<p>和</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">attribute::</pre>
<div class="contentsignin"></div>
</div>
<p></strong>:它们是效率最高的轴,因为它们只关注当前节点的直接子元素或属性。例如,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">bookstore/book/title</pre>
<div class="contentsignin"></div>
</div>
<p>就比</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">bookstore//title</pre>
<div class="contentsignin"></div>
</div>
<p>要快得多,因为它限定了查找范围。<strong>避免在表达式开头使用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//</pre>
<div class="contentsignin"></div>
</div>
<p></strong>:</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//book</pre>
<div class="contentsignin"></div>
</div>
<p>会从文档根开始全局搜索。如果你的XML结构是固定的,比如总是从根节点</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>开始,那么</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">library//book</pre>
<div class="contentsignin"></div>
</div>
<p>会比</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//book</pre>
<div class="contentsignin"></div>
</div>
<p>好一些,因为它至少限定了从</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>这个子树开始搜索。当然,最好是</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">library/shelf/book</pre>
<div class="contentsignin"></div>
</div>
<p>这样明确的路径。<strong>利用谓语(</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">[]</pre>
<div class="contentsignin"></div>
</div>
<p>)缩小范围</strong>:在轴后面加上谓语,可以进一步筛选节点,减少后续处理的节点数量。比如,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">descendant::item[@status='active']</pre>
<div class="contentsignin"></div>
</div>
<p>会比</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">descendant::item</pre>
<div class="contentsignin"></div>
</div>
<p>然后程序再过滤要高效得多,因为XPath引擎可以在遍历时就进行过滤。<strong>理解</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following</pre>
<div class="contentsignin"></div>
</div>
<p>和</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">preceding</pre>
<div class="contentsignin"></div>
</div>
<p>的开销</strong>:这两个轴会遍历文档中当前节点之外的大部分内容,如果不是必须,尽量少用。它们虽然强大,但性能代价也相对较高。我通常只在需要查找与当前节点在逻辑上相关但不在其直接父子关系中的元素时才会考虑它们。<strong>测试与分析</strong>:在处理大型XML时,我总是会用一些XPath性能分析工具(如果可用的话)来测试不同表达式的性能。有时,一点点路径的调整,就能带来巨大的性能提升。这就像写SQL查询一样,同样的查询结果,不同的写法性能可能天差地别。</p>
<p>总之,选择合适的XPath轴,就像选择合适的工具一样,既要能解决问题,又要考虑效率。</p>
<h3>XPath轴在复杂XML结构中导航的实战技巧是什么?</h3>
<p>复杂XML结构,往往意味着多层嵌套、混合内容、命名空间以及各种不规则的<span class="wpcom_tag_link"><a href="https://www.chuangxiangniao.com/p/tag/pailie" title="排列" target="_blank">排列</a></span>。在这种情况下,单一的XPath轴往往不够用,我们需要将它们组合起来,配合谓语和函数,才能精准定位。</p>
<p><strong>1. 轴与谓语的组合拳:</strong>这是最常用的技巧。例如,我需要找到某个作者写的所有书,并且这些书的价格高于50。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//author[text()='John Doe']/parent::book[price > 50]</pre>
<div class="contentsignin"></div>
</div>
<p>这里我先定位到作者,然后用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">parent::book</pre>
<div class="contentsignin"></div>
</div>
<p>回溯到书,再用谓语</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">[price > 50]</pre>
<div class="contentsignin"></div>
</div>
<p>筛选。这种组合能让你在复杂的层级关系中灵活穿梭。</p>
<p><strong>2. 链式轴的使用:</strong>有时,我们需要连续使用多个轴来描述路径。比如,从一个章节标题找到其后续的第一个图片:</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//chapter/title/following-sibling::figure[1]</pre>
<div class="contentsignin"></div>
</div>
<p>这里,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following-sibling::figure[1]</pre>
<div class="contentsignin"></div>
</div>
<p>就表示在</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title</pre>
<div class="contentsignin"></div>
</div>
<p>之后紧接着的第一个</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">figure</pre>
<div class="contentsignin"></div>
</div>
<p>兄弟节点。这种链式操作,能帮助你描述更复杂的相对位置关系。</p>
<p><strong>3. 处理命名空间:</strong>这是个老生常谈的问题,也是很多初学者容易踩的坑。如果XML文档使用了命名空间,你直接用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//book</pre>
<div class="contentsignin"></div>
</div>
<p>可能什么都找不到。我通常有两种处理方式:</p>
<p><strong>声明命名空间并使用前缀</strong>:这是最规范的做法。例如,XML中有</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>,你需要先在XPath解析器中声明</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">ns</pre>
<div class="contentsignin"></div>
</div>
<p>前缀对应的URI,然后写</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//ns:book</pre>
<div class="contentsignin"></div>
</div>
<p>。<strong>使用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">local-name()</pre>
<div class="contentsignin"></div>
</div>
<p>和</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">namespace-uri()</pre>
<div class="contentsignin"></div>
</div>
<p>函数</strong>:如果不想声明,或者命名空间前缀不确定,可以使用这些函数。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//*[local-name()='book']</pre>
<div class="contentsignin"></div>
</div>
<p>这会匹配所有名为</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">book</pre>
<div class="contentsignin"></div>
</div>
<p>的元素,无论其命名空间前缀是什么。我个人倾向于声明命名空间,因为它更清晰,但在快速调试时,</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">local-name()</pre>
<div class="contentsignin"></div>
</div>
<p>也挺好用。</p>
<p><strong>4. 导航混合内容(文本节点):</strong>XML节点可能包含文本和子元素混合的情况。如果你想获取某个元素的纯文本内容,而不是其子元素的文本,可以使用</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">text()</pre>
<div class="contentsignin"></div>
</div>
<p>节点测试:</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//paragraph/text()</pre>
<div class="contentsignin"></div>
</div>
<p>这会选择</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>标签下的所有直接文本节点。这对于提取段落中的纯文字内容,而不受内部标签干扰时非常有用。</p>
<p><strong>5. 灵活运用通配符和节点测试:</strong></p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">*</pre>
<div class="contentsignin"></div>
</div>
<p>:匹配任何元素节点。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">bookstore/*</pre>
<div class="contentsignin"></div>
</div>
<p>会选择</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>下的所有直接子元素。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">node()</pre>
<div class="contentsignin"></div>
</div>
<p>:匹配任何类型的节点(元素、属性、文本、注释等)。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">bookstore/node()</pre>
<div class="contentsignin"></div>
</div>
<p>会选择</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;"></pre>
<div class="contentsignin"></div>
</div>
<p>下的所有直接子节点,包括文本节点、注释节点等。这在你不确定具体元素名称,或者需要遍历所有节点类型时非常有用。</p>
<p>实战中,我发现最好的学习方法就是多尝试,多犯错。每次遇到一个搞不定的XML结构,我都会花时间去研究,用不同的轴和组合去测试,直到找到最简洁、最有效的XPath表达式。</p>
<h3>结合XPath轴,有哪些常见的错误或陷阱需要避免?</h3>
<p>即使是经验丰富的开发者,在使用XPath轴时也可能掉入一些常见的陷阱。我个人就没少在这上面栽跟头,尤其是在项目时间紧张的时候。</p>
<p><strong>1. 过度依赖</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//</pre>
<div class="contentsignin"></div>
</div>
<p>轴:</strong>前面提过,这是性能杀手。除了性能问题,它还可能导致意外匹配。比如,你只想匹配根目录下的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//chapter</pre>
<div class="contentsignin"></div>
</div>
<p>,结果却匹配到了某个注释里的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">chapter</pre>
<div class="contentsignin"></div>
</div>
<p>文本,或者其他子树里不相关的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">chapter</pre>
<div class="contentsignin"></div>
</div>
<p>。我总告诫自己,除非真的需要全局搜索,否则尽量避免。</p>
<p><strong>2. 忽略上下文节点:</strong>XPath表达式的解析始终是相对于一个上下文节点的。如果你在调试时发现XPath不工作,很可能是你预设的上下文节点和实际的解析上下文不一致。比如,你在一个</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">book</pre>
<div class="contentsignin"></div>
</div>
<p>节点下写</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title</pre>
<div class="contentsignin"></div>
</div>
<p>,它会找</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">book</pre>
<div class="contentsignin"></div>
</div>
<p>的子节点</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title</pre>
<div class="contentsignin"></div>
</div>
<p>。但如果你在文档根下写</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">title</pre>
<div class="contentsignin"></div>
</div>
<p>,那肯定找不到。我常常会用工具来检查当前的上下文节点,确保我的路径是基于正确的起点。</p>
<p><strong>3. 混淆</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following</pre>
<div class="contentsignin"></div>
</div>
<p>和</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following-sibling</pre>
<div class="contentsignin"></div>
</div>
<p>:</strong>这两个轴虽然名字相似,但范围截然不同。</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following-sibling</pre>
<div class="contentsignin"></div>
</div>
<p>只关注同级节点,而</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following</pre>
<div class="contentsignin"></div>
</div>
<p>则会遍历文档中当前节点之后的所有节点(除了其后代)。我见过有人想找同级节点,却用了</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">following</pre>
<div class="contentsignin"></div>
</div>
<p>,结果匹配到了文档末尾的无关元素,导致数据混乱。</p>
<p><strong>4. 命名空间处理不当:</strong>这是最让人头疼的问题之一。如果XML文档有命名空间,而你没有正确地声明和使用它们,那么你的XPath表达式很可能什么都找不到。错误信息通常是“未找到节点”,而不是“命名空间错误”,这会让人很困惑。我的经验是,只要XML文档头有</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">xmlns</pre>
<div class="contentsignin"></div>
</div>
<p>或</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">xmlns:</pre>
<div class="contentsignin"></div>
</div>
<p>前缀,就一定要考虑命名空间。</p>
<p><strong>5. 过于宽泛的谓语或轴:</strong>有时候为了“确保”能匹配到,我们会写出非常宽泛的表达式,比如</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//*[contains(., 'keyword')]</pre>
<div class="contentsignin"></div>
</div>
<p>。虽然能找到,但效率极低,而且容易匹配到不相关的文本。更糟糕的是,这会导致你的XPath表达式不够健壮,XML结构稍有变化就可能失效。我更倾向于写精确的路径,即使它看起来更长。</p>
<p><strong>6. 性能瓶颈的忽视:</strong>大型XML文件和复杂的XPath表达式是性能问题的温床。我曾经在处理一个包含数万个条目的XML文件时,因为一个简单的</p>
<div class="code" style="position:relative;padding:0px;margin:0px">
<pre class="brush:php;toolbar:false;">//item[last()]</pre>
<div class="contentsignin"></div>
</div>
<p>导致程序运行了数分钟。后来改成计数后直接定位,性能立马提升。对XPath性能的理解和优化,在实际项目中至关重要。</p>
<p><strong>7. 缺乏足够的测试:</strong>在开发阶段,我们通常只用少量数据测试XPath。但在生产环境中,XML结构可能更复杂,数据量更大,或者存在一些边缘情况。我总是建议对XPath表达式进行充分的单元测试和集成测试,使用不同类型和规模的XML样本,确保它们在各种情况下都能按预期工作。</p>
<p>避免这些陷阱,能让你在XML数据处理的道路上少走很多弯路,更高效、更可靠地完成任务。</p>
<p>以上就是XML的XPath轴(axis)有哪些?如何使用它们导航?的详细内容,更多请关注创想鸟其它相关文章!</p>
<div class="entry-readmore"><div class="entry-readmore-btn"></div></div>                                                        <div class="entry-copyright"><p>版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。<br>
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。<br>
发布者:程序猿,转转请注明出处:<span>https://www.chuangxiangniao.com/p/1430265.html</span></p></div>                        </div>

                        <div class="entry-tag"><a href="https://www.chuangxiangniao.com/p/tag/ai" rel="tag">ai</a><a href="https://www.chuangxiangniao.com/p/tag/xml" rel="tag">xml</a><a href="https://www.chuangxiangniao.com/p/tag/xpath" rel="tag">xpath</a><a href="https://www.chuangxiangniao.com/p/tag/gongju" rel="tag">工具</a><a href="https://www.chuangxiangniao.com/p/tag/pailie" rel="tag">排列</a></div>
                        <div class="entry-action">
                            <div class="btn-zan" data-id="1430265"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up-fill"></use></svg></i> 赞 <span class="entry-action-num">(0)</span></div>
                                                            <div class="btn-dashang">
                                    <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-cny-circle-fill"></use></svg></i> 打赏                                    <span class="dashang-img dashang-img2">
                                                                                    <span>
                                                <img src="//cdn.chuangxiangniao.com/me/2025/10/wx.jpg" alt="微信扫一扫"/>
                                                    微信扫一扫                                            </span>
                                                                                                                            <span>
                                                <img src="//cdn.chuangxiangniao.com/me/2025/10/zfb.jpg" alt="支付宝扫一扫"/>
                                                    支付宝扫一扫                                            </span>
                                                                            </span>
                                </div>
                                                    </div>

                        <div class="entry-bar">
                            <div class="entry-bar-inner">
                                                                <div class="entry-bar-info entry-bar-info2">
                                    <div class="info-item meta">
                                                                                    <a class="meta-item j-heart" href="javascript:;" data-id="1430265"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i> <span class="data">0</span></a>                                        <a class="meta-item" href="#comments"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i> <span class="data">0</span></a>                                                                            </div>
                                    <div class="info-item share">
                                                                                    <a class="meta-item mobile j-mobile-share" href="javascript:;" data-id="1430265" data-qrcode="https://www.chuangxiangniao.com/p/1430265.html">
                                                <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-share"></use></svg></i> 生成海报                                            </a>
                                                                                    <a class="meta-item wechat" data-share="wechat" target="_blank" rel="nofollow noopener noreferrer" href="#">
                                                <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-wechat"></use></svg></i>                                            </a>
                                                                                    <a class="meta-item weibo" data-share="weibo" target="_blank" rel="nofollow noopener noreferrer" href="#">
                                                <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-weibo"></use></svg></i>                                            </a>
                                                                                    <a class="meta-item qq" data-share="qq" target="_blank" rel="nofollow noopener noreferrer" href="#">
                                                <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-qq"></use></svg></i>                                            </a>
                                                                                    <a class="meta-item qzone" data-share="qzone" target="_blank" rel="nofollow noopener noreferrer" href="#">
                                                <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-qzone"></use></svg></i>                                            </a>
                                                                                    <a class="meta-item douban" data-share="douban" target="_blank" rel="nofollow noopener noreferrer" href="#">
                                                <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-douban"></use></svg></i>                                            </a>
                                                                            </div>
                                    <div class="info-item act">
                                        <a href="javascript:;" id="j-reading"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-article"></use></svg></i></a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="entry-author">
    <h3 class="entry-author-title">关于作者</h3>    <div class="entry-author-inner">
        <div class="entry-author-avatar">
            <a class="avatar j-user-card" href="https://www.chuangxiangniao.com/user/3" target="_blank" data-user="3"><img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-120 photo' height='120' width='120' decoding='async'/></a>
        </div>
        <div class="entry-author-content">
            <div class="entry-author-info">
                <h4 class="entry-author-name">
                    <a class="j-user-card" href="https://www.chuangxiangniao.com/user/3" target="_blank" data-user="3">程序猿<span class="user-group">签约作者</span></a>
                </h4>
                <div class="entry-author-action">
                    <button type="button" class="wpcom-btn btn-xs btn-follow j-follow btn-primary" data-user="3"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-add"></use></svg></i>关注</button><button type="button" class="wpcom-btn btn-primary btn-xs btn-message j-message" data-user="3"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-mail-fill"></use></svg></i>私信</button>                </div>
            </div>
                            <div class="entry-author-stats">            <div class="user-stats-item">
                <b>414.1K</b>
                <span>文章</span>
            </div>
                    <div class="user-stats-item">
                <b>0</b>
                <span>评论</span>
            </div>
                    <div class="user-stats-item">
                <b>2</b>
                <span>粉丝</span>
            </div>
        </div>
                        <div class="entry-author-description">这个人很懒,什么都没有留下~</div>        </div>
    </div>
</div>                        <div class="entry-page">
                    <div class="entry-page-prev j-lazy" style="background-image: url('https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png');" data-original="https://cdn.chuangxiangniao.com/www/2025/12/175492080792394.jpg?imageMogr2/crop/480x300/gravity/center">
                <a href="https://www.chuangxiangniao.com/p/1430263.html" title="XPath的child轴和//有什么区别?" rel="prev">
                    <span>XPath的child轴和//有什么区别?</span>
                </a>
                <div class="entry-page-info">
                    <span class="pull-left"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-arrow-left-double"></use></svg></i> 上一篇</span>
                    <span class="pull-right">2025年12月17日 03:28:48</span>
                </div>
            </div>
                            <div class="entry-page-next j-lazy" style="background-image: url('https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png');" data-original="https://cdn.chuangxiangniao.com/www/2025/12/175527114169685.jpg?imageMogr2/crop/480x300/gravity/center">
                <a href="https://www.chuangxiangniao.com/p/1430267.html" title="XPath的substring-after()函数如何截取?" rel="next">
                    <span>XPath的substring-after()函数如何截取?</span>
                </a>
                <div class="entry-page-info">
                    <span class="pull-right">下一篇 <i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-arrow-right-double"></use></svg></i></span>
                    <span class="pull-left">2025年12月17日 03:29:09</span>
                </div>
            </div>
            </div>
                                                                <div class="entry-related-posts">
                            <h3 class="entry-related-title">相关推荐</h3><ul class="entry-related cols-3 post-loop post-loop-default"><li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632527.html" title="如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?" decoding="async" fetchpriority="high" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173115343625471-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632527.html" target="_blank" rel="bookmark">
                                 如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?            </a>
        </h3>
        <div class="item-excerpt">
            <p>BFC清除兄弟元素间margin塌陷原理 margin塌陷问题 当相邻的块级元素垂直排列,它们的margin可能会塌陷并重叠,称为margin塌陷。 BFC清除margin塌陷 清除margin塌陷的一种常见方法是将下方元素包裹在一个新的块级格式化上下文(BFC)中,因为BFC之间不会相互影响。 d…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>5</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632527.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632525.html" title="Uniapp 中如何不拉伸不裁剪地展示图片?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="Uniapp 中如何不拉伸不裁剪地展示图片?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173112933874535.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632525.html" target="_blank" rel="bookmark">
                                 Uniapp 中如何不拉伸不裁剪地展示图片?            </a>
        </h3>
        <div class="item-excerpt">
            <p>灵活展示图片:如何不拉伸不裁剪 在界面设计中,常常需要以原尺寸展示用户上传的图片。本文将介绍一种在 uniapp 框架中实现该功能的简单方法。 对于不同尺寸的图片,可以采用以下处理方式: 极端宽高比:撑满屏幕宽度或高度,再等比缩放居中。非极端宽高比:居中显示,若能撑满则撑满。 然而,如果需要不拉伸不…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>4</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632525.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632517.html" title="如何让小说网站控制台显示乱码,同时网页内容正常显示?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何让小说网站控制台显示乱码,同时网页内容正常显示?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113291220468.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632517.html" target="_blank" rel="bookmark">
                                 如何让小说网站控制台显示乱码,同时网页内容正常显示?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何在不影响用户界面的情况下实现控制台乱码? 当在小说网站上下载小说时,大家可能会遇到一个问题:网站上的文本在网页内正常显示,但是在控制台中却是乱码。如何实现此类操作,从而在不影响用户界面(UI)的情况下保持控制台乱码呢? 答案在于使用自定义字体。网站可以通过在服务器端配置自定义字体,并通过在客户端…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>8</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632517.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632515.html" title="如何优化CSS Grid布局中子元素排列和宽度问题?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何优化CSS Grid布局中子元素排列和宽度问题?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113334463061-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632515.html" target="_blank" rel="bookmark">
                                 如何优化CSS Grid布局中子元素排列和宽度问题?            </a>
        </h3>
        <div class="item-excerpt">
            <p>css grid布局中的优化问题 在使用css grid布局时可能会遇到以下问题: 问题1:无法控制box1中li的布局 box1设置了grid-template-columns: repeat(auto-fill, 20%),这意味着容器将自动填充尽可能多的20%宽度的列。当li数量大于5时,它们…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>8</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632515.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632509.html" title="如何在地图上轻松创建气泡信息框?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何在地图上轻松创建气泡信息框?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113543571308.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632509.html" target="_blank" rel="bookmark">
                                 如何在地图上轻松创建气泡信息框?            </a>
        </h3>
        <div class="item-excerpt">
            <p>地图上气泡信息框的巧妙生成 地图上气泡信息框是一种常用的交互功能,它简便易用,能够为用户提供额外信息。本文将探讨如何借助地图库的功能轻松创建这一功能。 利用地图库的原生功能 大多数地图库,如高德地图,都提供了现成的信息窗体和右键菜单功能。这些功能可以通过以下途径实现: 高德地图 JS API 参考文…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>4</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632509.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632505.html" title="如何使用 scroll-behavior 属性实现元素scrollLeft变化时的平滑动画?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何使用 scroll-behavior 属性实现元素scrollLeft变化时的平滑动画?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113672416442.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632505.html" target="_blank" rel="bookmark">
                                 如何使用 scroll-behavior 属性实现元素scrollLeft变化时的平滑动画?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何实现元素scrollleft变化时的平滑动画效果? 在许多网页应用中,滚动容器的水平滚动条(scrollleft)需要频繁使用。为了让滚动动作更加自然,你希望给scrollleft的变化添加动画效果。 解决方案:scroll-behavior 属性 要实现scrollleft变化时的平滑动画效果…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632505.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632501.html" title="如何为滚动元素添加平滑过渡,使滚动条滑动时更自然流畅?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何为滚动元素添加平滑过渡,使滚动条滑动时更自然流畅?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173114066413535.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632501.html" target="_blank" rel="bookmark">
                                 如何为滚动元素添加平滑过渡,使滚动条滑动时更自然流畅?            </a>
        </h3>
        <div class="item-excerpt">
            <p>给滚动元素平滑过渡 如何在滚动条属性(scrollleft)发生改变时为元素添加平滑的过渡效果? 解决方案:scroll-behavior 属性 为滚动容器设置 scroll-behavior 属性可以实现平滑滚动。 html 代码: click the button to slide right!…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>5</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632501.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item3">
    <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632494.html" target="_blank" rel="bookmark">
                                 为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?            </a>
        </h3>
        <a class="item-images" href="https://www.chuangxiangniao.com/p/1632494.html" title="为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?" target="_blank">
            <span><i class="item-images-el j-lazy" style="background-image: url('https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png');" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173112048495002-1.jpg"></i></span><span><i class="item-images-el j-lazy" style="background-image: url('https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png');" data-original="https://cdn.chuangxiangniao.com/www/2025/12/68b6d8ba9040c297-10.png"></i></span><span><i class="item-images-el j-lazy" style="background-image: url('https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png');" data-original="/static/images/card_xiazai.png"></i></span><span><i class="item-images-el j-lazy" style="background-image: url('https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png');" data-original="/static/images/cardxiayige-3.png"></i></span>        </a>
        <div class="item-excerpt">
            <p>overflow 导致 inline-block 元素错位解析 当多个 inline-block 元素并列排列时,可能会出现错位显示的问题。这通常是由于其中一个元素设置了 overflow 属性引起的。 问题现象 在不设置 overflow 属性时,元素按预期显示在同一水平线上: 不设置 overf…</p>
        </div>
        <div class="item-meta">
                            <div class="item-meta-li author">
                                        <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                        <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                        <span>程序猿</span>
                    </a>
                </div>
                        <span class="item-meta-li date">2025年12月24日</span>
                            <span class="item-meta-li dot">•</span>
                <a class="item-meta-li" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
                        <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>4</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632494.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632480.html" title="如何选择元素个数不固定的指定类名子元素?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何选择元素个数不固定的指定类名子元素?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173112700024883.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632480.html" target="_blank" rel="bookmark">
                                 如何选择元素个数不固定的指定类名子元素?            </a>
        </h3>
        <div class="item-excerpt">
            <p>灵活选择元素个数不固定的指定类名子元素 在网页布局中,有时需要选择特定类名的子元素,但这些元素的数量并不固定。例如,下面这段 html 代码中,activebar 和 item 元素的数量均不固定: *n *n 如果需要选择第一个 item元素,可以使用 css 选择器 :nth-child()。该…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>2</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632480.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632476.html" title="使用 SVG 如何实现自定义宽度、间距和半径的虚线边框?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="使用 SVG 如何实现自定义宽度、间距和半径的虚线边框?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173112751597475.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632476.html" target="_blank" rel="bookmark">
                                 使用 SVG 如何实现自定义宽度、间距和半径的虚线边框?            </a>
        </h3>
        <div class="item-excerpt">
            <p>使用 svg 实现自定义虚线边框 如何实现一个具有自定义宽度、间距和半径的虚线边框是一个常见的前端开发问题。传统的解决方案通常涉及使用 border-image 引入切片图片,但是这种方法存在引入外部资源、性能低下的缺点。 为了避免上述问题,可以使用 svg(可缩放矢量图形)来创建纯代码实现。一种方…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>1</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632476.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632466.html" title="面板翻页显示16张图片和信息,如何实现模块靠左显示并按行排列?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="面板翻页显示16张图片和信息,如何实现模块靠左显示并按行排列?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173107702351498-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632466.html" target="_blank" rel="bookmark">
                                 面板翻页显示16张图片和信息,如何实现模块靠左显示并按行排列?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何在面板上翻页显示16个图片和信息,如何设置div内的模块靠左显示,模块内容按行显示? 问题:在面板上翻页显示16个图片和信息,如何设置div内的模块靠左显示,模块内容按行显示,设置了float没有效果。 已知信息: 图片和信息使用json数据定义。使用paginationbyjs函数进行分页。使…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632466.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632447.html" title="如何在面板上翻页显示16个图片和信息,并实现模块靠左显示、内容按行排列?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何在面板上翻页显示16个图片和信息,并实现模块靠左显示、内容按行排列?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173111768814518-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632447.html" target="_blank" rel="bookmark">
                                 如何在面板上翻页显示16个图片和信息,并实现模块靠左显示、内容按行排列?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何设置div内的模块靠左显示,模块内容按行显示? 问题: 在面板上翻页显示16个图片和信息,如何设置div内的模块靠左显示,模块内容按行显示,设置了float没有效果。 答案: 要将div内的模块靠左显示,并按行排列模块内容,可以使用以下方式: 给div容器添加flexbox属性: #list {…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632447.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632437.html" title="如何实现 div 内模块靠左显示并按行排列, 且翻页显示图片和信息?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何实现 div 内模块靠左显示并按行排列, 且翻页显示图片和信息?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173106146076241-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632437.html" target="_blank" rel="bookmark">
                                 如何实现 div 内模块靠左显示并按行排列, 且翻页显示图片和信息?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何设置div内的模块靠左显示,模块内容按行显示? 在面板上翻页显示16个图片和信息,如何设置div内的模块靠左显示,模块内容按行显示,设置了float没有效果 中间部分里面的图片,文字显示在图片下方 第二页图片靠左显示 以上就是如何实现 div 内模块靠左显示并按行排列, 且翻页显示图片和信息?的…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632437.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632425.html" title="如何让“元素跟随文本高度,而不是撑高父容器?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何让``元素跟随文本高度,而不是撑高父容器?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173106797093476.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632425.html" target="_blank" rel="bookmark">
                                 如何让“元素跟随文本高度,而不是撑高父容器?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何让 元素跟随文本高度,而不是撑高父容器 在页面布局中,经常遇到父容器高度被子元素撑开的问题。在图例所示的案例中,父容器被较高的图片撑开,而文本的高度没有被考虑。本问答将提供纯css解决方案,让图片跟随文本高度,确保父容器的高度不会被图片影响。 解决方法 为了解决这个问题,需要将图片从文档流中脱离…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632425.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632399.html" title="inline-block元素错位了,是为什么?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="inline-block元素错位了,是为什么?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173105267129857-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632399.html" target="_blank" rel="bookmark">
                                 inline-block元素错位了,是为什么?            </a>
        </h3>
        <div class="item-excerpt">
            <p>inline-block元素错位背后的原因 inline-block元素是一种特殊类型的块级元素,它可以与其他元素行内排列。但是,在某些情况下,inline-block元素可能会出现错位显示的问题。 错位的原因 当inline-block元素设置了overflow:hidden属性时,它会影响元素的…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632399.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632395.html" title="为什么 CSS mask 属性未请求指定图片?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="为什么 CSS mask 属性未请求指定图片?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173105326480610.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632395.html" target="_blank" rel="bookmark">
                                 为什么 CSS mask 属性未请求指定图片?            </a>
        </h3>
        <div class="item-excerpt">
            <p>解决 css mask 属性未请求图片的问题 在使用 css mask 属性时,指定了图片地址,但网络面板显示未请求获取该图片,这可能是由于浏览器兼容性问题造成的。 问题 如下代码所示: 立即学习“前端免费学习笔记(深入)”; icon [data-icon=”cloud”] { –icon-cl…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>2</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632395.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632375.html" title="如何利用 CSS 选中激活标签并影响相邻元素的样式?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何利用 CSS 选中激活标签并影响相邻元素的样式?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173104074353749.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632375.html" target="_blank" rel="bookmark">
                                 如何利用 CSS 选中激活标签并影响相邻元素的样式?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何利用 css 选中激活标签并影响相邻元素? 为了实现激活标签影响相邻元素的样式需求,可以通过 :has 选择器来实现。以下是如何具体操作: 对于激活标签相邻后的元素,可以在 css 中使用以下代码进行设置: li:has(+li.active) { border-radius: 0 0 10px…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>1</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632375.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632363.html" title="如何模拟Windows 10 设置界面中的鼠标悬浮放大效果?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何模拟Windows 10 设置界面中的鼠标悬浮放大效果?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173104619016469.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632363.html" target="_blank" rel="bookmark">
                                 如何模拟Windows 10 设置界面中的鼠标悬浮放大效果?            </a>
        </h3>
        <div class="item-excerpt">
            <p>win10设置界面的鼠标移动显示周边的样式(探照灯效果)的实现方式 在windows设置界面的鼠标悬浮效果中,光标周围会显示一个放大区域。在前端开发中,可以通过多种方式实现类似的效果。 使用css 使用css的transform和box-shadow属性。通过将transform: scale(1.…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>2</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632363.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632351.html" title="为什么我的 Safari 自定义样式表在百度页面上失效了?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="为什么我的 Safari 自定义样式表在百度页面上失效了?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173102726482759-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632351.html" target="_blank" rel="bookmark">
                                 为什么我的 Safari 自定义样式表在百度页面上失效了?            </a>
        </h3>
        <div class="item-excerpt">
            <p>为什么在 Safari 中自定义样式表未能正常工作? 在 Safari 的偏好设置中设置自定义样式表后,您对其进行测试却发现效果不同。在您自己的网页中,样式有效,而在百度页面中却失效。 造成这种情况的原因是,第一个访问的项目使用了文件协议,可以访问本地目录中的图片文件。而第二个访问的百度使用了 ht…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632351.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
<li class="item item2">
        <div class="item-img">
        <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632347.html" title="如何让 div 内的模块靠左显示,模块内容按行排列,并在面板上实现翻页展示?" target="_blank" rel="bookmark">
            <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何让 div 内的模块靠左显示,模块内容按行排列,并在面板上实现翻页展示?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173102797222965-1.jpg?imageMogr2/crop/480x300/gravity/center" />        </a>
                <a class="item-category" href="https://www.chuangxiangniao.com/news-2" target="_blank">好文分享</a>
            </div>
        <div class="item-content">
                <h3 class="item-title">
            <a href="https://www.chuangxiangniao.com/p/1632347.html" target="_blank" rel="bookmark">
                                 如何让 div 内的模块靠左显示,模块内容按行排列,并在面板上实现翻页展示?            </a>
        </h3>
        <div class="item-excerpt">
            <p>如何设置div内的模块靠左显示,模块内容按行显示? 在面板上翻页显示16个图片和信息,如何设置div内的模块靠左显示,模块内容按行显示,设置了float没有效果 css 代码: #List { display: flex; flex-wrap: wrap;}#List > div { text…</p>
        </div>
        <div class="item-meta">
                        <div class="item-meta-li author">
                                <a data-user="3" target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar j-user-card">
                    <img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-60 photo' height='60' width='60' decoding='async'/>                    <span>程序猿</span>
                </a>
            </div>
                                    <span class="item-meta-li date">2025年12月24日</span>
            <div class="item-meta-right">
                <span class="item-meta-li views" title="阅读数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-eye"></use></svg></i>0</span><a class="item-meta-li comments" href="https://www.chuangxiangniao.com/p/1632347.html#comments" target="_blank" title="评论数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-comment"></use></svg></i>0</a><span class="item-meta-li stars" title="收藏数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-star"></use></svg></i>0</span><span class="item-meta-li likes" title="点赞数"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-thumb-up"></use></svg></i>0</span>            </div>
        </div>
    </div>
</li>
</ul>                        </div>
                    
<div id="comments" class="entry-comments">
    	<div id="respond" class="comment-respond">
		<h3 id="reply-title" class="comment-reply-title">发表回复 <small><a rel="nofollow" id="cancel-comment-reply-link" href="/p/1430265.html#respond" style="display:none;"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-close"></use></svg></i></a></small></h3><div class="comment-form"><div class="comment-must-login">请登录后评论...</div><div class="form-submit"><div class="form-submit-text pull-left"><a href="https://www.chuangxiangniao.com/login?modal-type=login">登录</a>后才能评论</div> <button name="submit" type="submit" id="must-submit" class="wpcom-btn btn-primary btn-xs submit">提交</button></div></div>	</div><!-- #respond -->
		</div><!-- .comments-area -->
                </article>
                    </main>
            <aside class="sidebar">
        <div class="widget widget_html_myimg"><script id="w2898_19187">(function () {var zy = document.createElement("script");var flowExchange = window.location.protocol.split(":")[0];var http = flowExchange === "https"?"https":"http";zy.src = http+"://exchange.2898.com/index/flowexchange/getGoods?id=19187&sign=4de6b0e8762acf54f7fbff868909cdae";var s = document.getElementsByTagName("script");for(var i=0;i< s.length;i++){if(s[i].id){if(s[i].id == "w2898_19187"){s[i].parentNode.insertBefore(zy, s[i]);continue;}}}})();</script></div><div class="widget widget_profile"><div class="profile-cover"><img class="j-lazy" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" data-original="//bing.img.run/rand_uhd.php" alt="程序猿"></div>            <div class="avatar-wrap">
                <a target="_blank" href="https://www.chuangxiangniao.com/user/3" class="avatar-link"><img alt='程序猿的头像' src='//cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg' class='avatar avatar-120 photo' height='120' width='120' decoding='async'/></a></div>
            <div class="profile-info">
                <a target="_blank" href="https://www.chuangxiangniao.com/user/3" class="profile-name"><span class="author-name">程序猿</span><span class="user-group">签约作者</span></a>
                <p class="author-description">这个人很懒,什么都没有留下~</p>
                        <div class="profile-stats">
            <div class="profile-stats-inner">
                            <div class="user-stats-item">
                <b>414.1K</b>
                <span>文章</span>
            </div>
                    <div class="user-stats-item">
                <b>0</b>
                <span>评论</span>
            </div>
                    <div class="user-stats-item">
                <b>2</b>
                <span>粉丝</span>
            </div>
                    </div>
        </div>
    <button type="button" class="wpcom-btn btn-xs btn-follow j-follow btn-primary" data-user="3"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-add"></use></svg></i>关注</button><button type="button" class="wpcom-btn btn-primary btn-xs btn-message j-message" data-user="3"><i class="wpcom-icon wi"><svg aria-hidden="true"><use xlink:href="#wi-mail-fill"></use></svg></i>私信</button>            </div>
                        <div class="profile-posts">
                <h3 class="widget-title"><span>最近文章</span></h3>
                <ul>                    <li><a href="https://www.chuangxiangniao.com/p/1632537.html" title="如何使用正则表达式完整匹配HTML中Script标签的中间内容?">如何使用正则表达式完整匹配HTML中Script标签的中间内容?</a></li>
                                    <li><a href="https://www.chuangxiangniao.com/p/1632535.html" title="CSS mask属性无法获取图片:为什么我的图片不见了?">CSS mask属性无法获取图片:为什么我的图片不见了?</a></li>
                                    <li><a href="https://www.chuangxiangniao.com/p/1632533.html" title="如何用dom2img解决网页打印样式不显示的问题?">如何用dom2img解决网页打印样式不显示的问题?</a></li>
                                    <li><a href="https://www.chuangxiangniao.com/p/1632531.html" title="如何用 CSS 模拟不影响其他元素的链接移入效果?">如何用 CSS 模拟不影响其他元素的链接移入效果?</a></li>
                                    <li><a href="https://www.chuangxiangniao.com/p/1632529.html" title="如何调整Flexbox布局中项目对齐方式?">如何调整Flexbox布局中项目对齐方式?</a></li>
                </ul>            </div>
                        </div><div class="widget widget_post_thumb"><h3 class="widget-title"><span>最新发布</span></h3>            <ul>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632537.html" title="如何使用正则表达式完整匹配HTML中Script标签的中间内容?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何使用正则表达式完整匹配HTML中Script标签的中间内容?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173114913047425-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632537.html" title="如何使用正则表达式完整匹配HTML中Script标签的中间内容?">如何使用正则表达式完整匹配HTML中Script标签的中间内容?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632535.html" title="CSS mask属性无法获取图片:为什么我的图片不见了?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="CSS mask属性无法获取图片:为什么我的图片不见了?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173114965249663-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632535.html" title="CSS mask属性无法获取图片:为什么我的图片不见了?">CSS mask属性无法获取图片:为什么我的图片不见了?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632533.html" title="如何用dom2img解决网页打印样式不显示的问题?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何用dom2img解决网页打印样式不显示的问题?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173115108447936-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632533.html" title="如何用dom2img解决网页打印样式不显示的问题?">如何用dom2img解决网页打印样式不显示的问题?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632531.html" title="如何用 CSS 模拟不影响其他元素的链接移入效果?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何用 CSS 模拟不影响其他元素的链接移入效果?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173115126432923-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632531.html" title="如何用 CSS 模拟不影响其他元素的链接移入效果?">如何用 CSS 模拟不影响其他元素的链接移入效果?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632529.html" title="如何调整Flexbox布局中项目对齐方式?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何调整Flexbox布局中项目对齐方式?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173115164827175-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632529.html" title="如何调整Flexbox布局中项目对齐方式?">如何调整Flexbox布局中项目对齐方式?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632527.html" title="如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173115343625471-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632527.html" title="如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?">如何利用BFC和inline-block解决兄弟元素间margin塌陷问题?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632525.html" title="Uniapp 中如何不拉伸不裁剪地展示图片?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="Uniapp 中如何不拉伸不裁剪地展示图片?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173112933874535.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632525.html" title="Uniapp 中如何不拉伸不裁剪地展示图片?">Uniapp 中如何不拉伸不裁剪地展示图片?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632523.html" title="PC端H5项目如何实现适配:流式布局、响应式设计和两套样式?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="PC端H5项目如何实现适配:流式布局、响应式设计和两套样式?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113236617196-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632523.html" title="PC端H5项目如何实现适配:流式布局、响应式设计和两套样式?">PC端H5项目如何实现适配:流式布局、响应式设计和两套样式?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632521.html" title="CSS 元素设置 10em 和 transition 后为何没有放大效果?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="CSS 元素设置 10em 和 transition 后为何没有放大效果?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113238051743-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632521.html" title="CSS 元素设置 10em 和 transition 后为何没有放大效果?">CSS 元素设置 10em 和 transition 后为何没有放大效果?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                                    <li class="item">
                                                    <div class="item-img">
                                <a class="item-img-inner" href="https://www.chuangxiangniao.com/p/1632519.html" title="如何实现类似横向U型步骤条的组件?">
                                    <img width="480" height="300" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/images/lazy.png" class="attachment-default size-default wp-post-image j-lazy" alt="如何实现类似横向U型步骤条的组件?" decoding="async" data-original="https://cdn.chuangxiangniao.com/www/2025/12/173113274014912-1.jpg?imageMogr2/crop/480x300/gravity/center" />                                </a>
                            </div>
                                                <div class="item-content">
                            <p class="item-title"><a href="https://www.chuangxiangniao.com/p/1632519.html" title="如何实现类似横向U型步骤条的组件?">如何实现类似横向U型步骤条的组件?</a></p>
                            <p class="item-date">2025年12月24日</p>
                        </div>
                    </li>
                            </ul>
        </div><div class="widget widget_tags"><h3 class="widget-title"><span>热门标签</span></h3>        <div class="tagcloud">
                            <a href="https://www.chuangxiangniao.com/p/tag/ai" title="ai">ai</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/gongju" title="工具">工具</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/liulanqi" title="浏览器">浏览器</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/app" title="app">app</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/java" title="java">java</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/php" title="php">php</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/css" title="css">css</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/windows" title="windows">windows</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/html" title="html">html</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/go" title="go">go</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/js" title="js">js</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/win" title="win">win</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/diannao" title="电脑">电脑</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/javascript" title="javascript">javascript</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/linux" title="linux">linux</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/red" title="red">red</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/python" title="python">python</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/c%20%20" title="c++">c++</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/o" title="o">o</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/mysql" title="mysql">mysql</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/a" title="a">a</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/caozuoxitong" title="操作系统">操作系统</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/weishenme" title="为什么">为什么</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/2025" title="2025">2025</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/json" title="json">json</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/git" title="git">git</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/qubie" title="区别">区别</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/jiaoyisuo" title="交易所">交易所</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/qianduan" title="前端">前端</a>
                            <a href="https://www.chuangxiangniao.com/p/tag/bian-4" title="币安">币安</a>
                    </div>
        </div><div class="widget widget_links"><h3 class="widget-title"><span>旗下站点</span></h3>
	<ul class='xoxo blogroll'>
<li><a href="https://www.chuangxiangniao.com/xin/" target="_blank">信用人生</a></li>
<li><a href="https://www.ankegu.com/" target="_blank">免费在线测八字</a></li>
<li><a href="https://www.chuangxiangniao.com/" target="_blank">创想鸟</a></li>
<li><a href="https://www.chuangxiangniao.com/pay/">复利引擎</a></li>
<li><a href="https://www.chuangxiangniao.com/she/" target="_blank">奢社</a></li>
<li><a href="https://www.chuangxiangniao.com/law/" target="_blank">法外狂徒</a></li>
<li><a href="https://www.chuangxiangniao.com/wifi/" target="_blank">玩转路由网</a></li>

	</ul>
</div>
    </aside>
    </div>
</div>
<footer class="footer">
    <div class="container">
        <div class="footer-col-wrap footer-with-icon">
                        <div class="footer-col footer-col-copy">
                <ul class="footer-nav hidden-xs"><li id="menu-item-4095" class="menu-item menu-item-4095"><a target="1" href="https://www.chuangxiangniao.com/falyushengming">法律声明</a></li>
<li id="menu-item-4099" class="menu-item menu-item-4099"><a target="1" href="https://www.chuangxiangniao.com/about">关于我们</a></li>
<li id="menu-item-4098" class="menu-item menu-item-4098"><a target="1" href="https://www.chuangxiangniao.com/contact">联系我们</a></li>
<li id="menu-item-4097" class="menu-item menu-item-4097"><a target="1" href="https://www.chuangxiangniao.com/yonghuxieyi">用户协议</a></li>
<li id="menu-item-4094" class="menu-item menu-item-privacy-policy menu-item-4094"><a target="1" rel="privacy-policy" href="https://www.chuangxiangniao.com/yinsizhengce">隐私政策</a></li>
<li id="menu-item-4096" class="menu-item menu-item-4096"><a target="1" href="https://www.chuangxiangniao.com/mianzeshengming">版权及免责声明</a></li>
</ul>                <div class="copyright">
                    <p>版权声明:本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。</p>
<p>如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao#163.com (请把#更换@)举报,一经查实,本站将立刻删除。</p>
<p>Copyright © 2019-2025 <a href="https://www.chuangxiangniao.com/" target="_blank" rel="noopener noreferrer">创想鸟</a> 版权所有 <a href="https://beian.miit.gov.cn" target="_blank" rel="nofollow noopener noreferrer">皖ICP备2024035995号-1</a></p>
                </div>
            </div>
                        <div class="footer-col footer-col-sns">
                <div class="footer-sns">
                                                <a href="https://www.chuangxiangniao.com/sitemap/sitemap.xml" target="_blank" aria-label="icon">
                                <i class="wpcom-icon fa fa-sitemap sns-icon"></i>                                                            </a>
                                                    <a class="sns-wx" href="javascript:;" aria-label="icon">
                                <i class="wpcom-icon fa fa-wechat sns-icon"></i>                                <span style="background-image:url('//cdn.chuangxiangniao.com/me/2025/10/wechat.jpg');"></span>                            </a>
                                        </div>
            </div>
                    </div>
    </div>
</footer>
            <div class="action action-style-0 action-color-1 action-pos-1" style="bottom:450px;">
                                                <div class="action-item">
                                    <i class="wpcom-icon fa fa-wechat action-item-icon"></i>                                                                        <div class="action-item-inner action-item-type-1">
                                        <img class="action-item-img" src="//cdn.chuangxiangniao.com/me/2025/10/wechat.jpg" alt="关注微信">                                    </div>
                                </div>
                                                                                        <div class="action-item j-share">
                        <i class="wpcom-icon wi action-item-icon"><svg aria-hidden="true"><use xlink:href="#wi-share"></use></svg></i>                                            </div>
                                    <div class="action-item gotop j-top">
                        <i class="wpcom-icon wi action-item-icon"><svg aria-hidden="true"><use xlink:href="#wi-arrow-up-2"></use></svg></i>                                            </div>
                            </div>
        <script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/www/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/justnews/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<script id="imwpf-this-page">
var g_this_page = {
    "type": "post",
    "id": 1430265,
    "terms": [{"id":49069,"tax":"category"},{"id":100,"tax":"post_tag"},{"id":9498,"tax":"post_tag"},{"id":39909,"tax":"post_tag"},{"id":118,"tax":"post_tag"},{"id":267,"tax":"post_tag"}]
};console.log(g_this_page);
</script><div class="imwpcache_status_ok"></div><script type="text/javascript" id="main-js-extra">
/* <![CDATA[ */
var _wpcom_js = {"webp":"","ajaxurl":"https://www.chuangxiangniao.com/wp-admin/admin-ajax.php","theme_url":"https://www.chuangxiangniao.com/wp-content/themes/justnews","slide_speed":"5000","is_admin":"0","lang":"zh_CN","js_lang":{"share_to":"\u5206\u4eab\u5230:","copy_done":"\u590d\u5236\u6210\u529f\uff01","copy_fail":"\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u62f7\u8d1d\u529f\u80fd","confirm":"\u786e\u5b9a","qrcode":"\u4e8c\u7ef4\u7801","page_loaded":"\u5df2\u7ecf\u5230\u5e95\u4e86","no_content":"\u6682\u65e0\u5185\u5bb9","load_failed":"\u52a0\u8f7d\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\uff01","expand_more":"\u9605\u8bfb\u5269\u4f59 %s"},"share":"1","share_items":{"weibo":{"title":"\u5fae\u535a","icon":"weibo"},"wechat":{"title":"\u5fae\u4fe1","icon":"wechat"},"qq":{"title":"QQ\u597d\u53cb","icon":"qq"},"qzone":{"title":"QQ\u7a7a\u95f4","icon":"qzone"},"douban":{"name":"douban","title":"\u8c46\u74e3","icon":"douban"},"mail":{"title":"\u90ae\u4ef6","icon":"mail-fill"}},"lightbox":"1","post_id":"1430265","user_card_height":"356","poster":{"notice":"\u8bf7\u300c\u70b9\u51fb\u4e0b\u8f7d\u300d\u6216\u300c\u957f\u6309\u4fdd\u5b58\u56fe\u7247\u300d\u540e\u5206\u4eab\u7ed9\u66f4\u591a\u597d\u53cb","generating":"\u6b63\u5728\u751f\u6210\u6d77\u62a5\u56fe\u7247...","failed":"\u6d77\u62a5\u56fe\u7247\u751f\u6210\u5931\u8d25"},"video_height":"484","fixed_sidebar":"1","dark_style":"2","font_url":"//fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500&display=swap","follow_btn":"\u003Ci class=\"wpcom-icon wi\"\u003E\u003Csvg aria-hidden=\"true\"\u003E\u003Cuse xlink:href=\"#wi-add\"\u003E\u003C/use\u003E\u003C/svg\u003E\u003C/i\u003E\u5173\u6ce8","followed_btn":"\u5df2\u5173\u6ce8","user_card":"1"};
//# sourceURL=main-js-extra
/* ]]> */
</script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/js/main.js?ver=6.21.2" id="main-js"></script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/js/icons-2.8.9.js?ver=2.8.9" id="wpcom-icons-js"></script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/themer/assets/js/comment-reply.js?ver=6.21.2" id="comment-reply-js"></script>
<script type="text/javascript" id="wwa-js-extra">
/* <![CDATA[ */
var _wwa_js = {"ajaxurl":"https://www.chuangxiangniao.com/wp-admin/admin-ajax.php","post_id":"1430265","rewarded":"wx"};
//# sourceURL=wwa-js-extra
/* ]]> */
</script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/plugins/justweapp/js/script.js?ver=3.16.1" id="wwa-js"></script>
<script type="text/javascript" id="wp-postviews-cache-js-extra">
/* <![CDATA[ */
var viewsCacheL10n = {"admin_ajax_url":"https://www.chuangxiangniao.com/wp-admin/admin-ajax.php","nonce":"194e6bead6","post_id":"1430265"};
//# sourceURL=wp-postviews-cache-js-extra
/* ]]> */
</script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/plugins/wp-postviews/postviews-cache.js?ver=1.78" id="wp-postviews-cache-js"></script>
<script type="text/javascript" id="wp-postviews-cache-js-after">
/* <![CDATA[ */
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
jQuery(document).ready(function($) {
                $.get(viewsCacheL10n.admin_ajax_url + '?action=show_postviews&id=' + viewsCacheL10n.post_id, function(data) {
                    $('.ajax-views').html(data);
                });
            });
//# sourceURL=wp-postviews-cache-js-after
/* ]]> */
</script>
<script type="text/javascript" id="wpcom-member-js-extra">
/* <![CDATA[ */
var _wpmx_js = {"ajaxurl":"https://www.chuangxiangniao.com/wp-admin/admin-ajax.php","plugin_url":"https://www.chuangxiangniao.com/wp-content/plugins/wpcom-member/","max_upload_size":"52428800","post_id":"1430265","js_lang":{"login_desc":"\u60a8\u8fd8\u672a\u767b\u5f55\uff0c\u8bf7\u767b\u5f55\u540e\u518d\u8fdb\u884c\u76f8\u5173\u64cd\u4f5c\uff01","login_title":"\u8bf7\u767b\u5f55","login_btn":"\u767b\u5f55","reg_btn":"\u6ce8\u518c"},"login_url":"https://www.chuangxiangniao.com/login?modal-type=login","register_url":"https://www.chuangxiangniao.com/register?modal-type=register","errors":{"require":"\u4e0d\u80fd\u4e3a\u7a7a","email":"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u7535\u5b50\u90ae\u7bb1","pls_enter":"\u8bf7\u8f93\u5165","password":"\u5bc6\u7801\u5fc5\u987b\u4e3a6~32\u4e2a\u5b57\u7b26","passcheck":"\u4e24\u6b21\u5bc6\u7801\u8f93\u5165\u4e0d\u4e00\u81f4","phone":"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7\u7801","terms":"\u8bf7\u9605\u8bfb\u5e76\u540c\u610f\u6761\u6b3e","sms_code":"\u9a8c\u8bc1\u7801\u9519\u8bef","captcha_verify":"\u8bf7\u70b9\u51fb\u6309\u94ae\u8fdb\u884c\u9a8c\u8bc1","captcha_fail":"\u4eba\u673a\u9a8c\u8bc1\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5","nonce":"\u968f\u673a\u6570\u6821\u9a8c\u5931\u8d25","req_error":"\u8bf7\u6c42\u5931\u8d25"},"hidden_content":"1","copy_post":"1","copy_post_text":"\u4ed8\u8d39\u89e3\u9501\u5f53\u524d\u6587\u7ae0\u590d\u5236\u6743\u9650","copy_post_container":".entry-content"};
//# sourceURL=wpcom-member-js-extra
/* ]]> */
</script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/plugins/wpcom-member/js/index.js?ver=1.7.18" id="wpcom-member-js"></script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/plugins/wpcom-member-pro/js/index.js?ver=2.3.1" id="wpcom-member-pro-js"></script>
<script type="text/javascript" src="https://www.chuangxiangniao.com/wp-content/themes/justnews/js/wp-embed.js?ver=6.21.2" id="wp-embed-js"></script>
 <!--百度自动推送代码开始-->
<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
<!--百度自动推送代码结束-->
<!--360自动推送代码开始-->
<script>
(function(){
   var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?d7af82f5d5a7d431d4b53f4d0069f989":"https://jspassport.ssl.qhimg.com/11.0.1.js?d7af82f5d5a7d431d4b53f4d0069f989";
   document.write('<script src="' + src + '" id="sozz"><\/script>');
})();
</script>
<!--360自动推送代码结束-->
<!--头条自动推送代码开始-->
<script>
(function(){
var el = document.createElement("script");
el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?e1627df632cb7d8422ff5a171866ae673d0a9fd8a088d803a9d0f3c3bef0aa6adb92f43d4b1c8ff14071b55e1e71da09d918f66d1949fb3b81012c4e4e9e4a34644f149b0c276c07ebf664bf3622e408";
el.id = "ttzz";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(el, s);
})(window)
</script>
<!--头条自动推送代码结束-->
<!--百度统计代码开始-->
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?357b28aff465596d316075fdd7393426";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<!--百度统计代码结束-->
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","@id":"https://www.chuangxiangniao.com/p/1430265.html","url":"https://www.chuangxiangniao.com/p/1430265.html","headline":"XML的XPath轴(axis)有哪些?如何使用它们导航?","description":"选择合适的xpath轴能显著提升查询性能和准确性,应优先使用child::和attribute::等高效轴,避免滥用//,结合谓语过滤,注意命名空间和上下文节点,防止陷入性能差、匹配不精确等常见陷阱,最终实现高效精准的xml导航。 XPath轴是XML文档中用于从一个“上下文节点”出发,根据其与目标…","datePublished":"2025-12-17T03:28:53+08:00","dateModified":"2025-12-17T03:28:53+08:00","author":{"@type":"Person","name":"程序猿","url":"https://www.chuangxiangniao.com/user/3","image":"http://cdn.chuangxiangniao.com/www/2025/10/2025102208472691.jpg"},"image":["https://cdn.chuangxiangniao.com/www/2025/12/175492068224806.jpg"]}</script>
<script>console.log('命中缓存\n缓存页加载耗时: 0.004s\n缓存页生成时间: 2026-02-13 21:57:22')</script></body>
</html><!--cached by imwpcache 2026-02-13 21:57:22-->