青训营X豆包MarsCode 技术训练营语义化 | 豆包MarsCode AI 刷题

98 阅读4分钟

博客网站的HTML结构:

     <!DOCTYPE html>
     
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>博客首页 - 博客网站名称</title>
<link rel="stylesheet" href="/styles/main.css">
<script src="/scripts/main.js" defer></script>
<!-- 其他meta标签,如SEO相关的meta描述和关键词 -->


<header>
    <div class="logo">
        <a href="/"><img src="/images/logo.png" alt="博客网站名称转存失败,建议直接上传图片文件"></a>
    </div>
    <nav>
        <ul>
            <li><a href="/">首页</a></li>
            <li><a href="/about">关于我们</a></li>
            <li><a href="/contact">联系我们</a></li>
            <!-- 其他导航链接,如分类、标签、归档等 -->
        </ul>
    </nav>
    <div class="search">
        <!-- 搜索框,通常包含input元素和搜索按钮 -->
    </div>
</header>

<main>
    <section class="featured-post">
        <!-- 特色文章,通常是大图或视频加简介 -->
        <h2>特色文章标题</h2>
        <img src="/images/featured-post.jpg" alt="特色文章图片">
        <p>文章简介...</p>
        <a href="/post/featured-post-url">阅读全文</a>
    </section>
    
    <section class="latest-posts">
        <h2>最新文章</h2>
        <article class="post-summary">
            <h3><a href="/post/latest-post-1-url">文章1标题</a></h3>
            <p>文章1简介...</p>
            <time datetime="2023-10-01">10月1日</time>
        </article>
        <article class="post-summary">
            <h3><a href="/post/latest-post-2-url">文章2标题</a></h3>
            <p>文章2简介...</p>
            <time datetime="2023-09-30">9月30日</time>
        </article>
        <!-- 更多文章摘要 -->
    </section>
    
    <!-- 其他内容板块,如侧边栏广告、热门文章、作者推荐等 -->
</main>

<aside class="sidebar">
    <section class="about-author">
        <h2>关于作者</h2>
        <img src="/images/author.jpg" alt="作者图片">
        <p>作者简介...</p>
    </section>
    
    <section class="popular-posts">
        <h2>热门文章</h2>
        <ul>
            <li><a href="/post/popular-post-1-url">热门文章1标题</a></li>
            <li><a href="/post/popular-post-2-url">热门文章2标题</a></li>
            <!-- 更多热门文章链接 -->
        </ul>
    </section>
    
    <!-- 其他侧边栏内容,如社交媒体链接、广告、订阅表单等 -->
</aside>

<footer>
    <p>&copy; 2023 博客网站名称. 版权所有.</p>
    <p>设计: <a href="http://example.com">设计师名称</a> | <a href="/privacy">隐私政策</a> | <a href="/terms">使用条款</a></p>
</footer>

</body>
</html>

博客网站的HTML结构通常包括头部(Header)、主要内容(Main Content)、侧边栏(Sidebar,可选)和页脚(Footer)四个主要部分。

头部是博客网站的门面,通常包含网站的标志(Logo)、导航栏、搜索框等元素。标志用于展示网站的品牌形象,导航栏则提供到网站各个页面的链接,如首页、关于我们、分类、标签等,方便用户快速找到所需内容。搜索框则允许用户通过关键词搜索文章,提高用户体验。

主要内容区域是博客网站的核心,用于展示文章列表或单篇文章的详细内容。在文章列表中,每篇文章通常包括标题、摘要、发布时间和阅读链接等元素,以便用户快速浏览和选择感兴趣的内容。在单篇文章页面中,则包含完整的文章内容、作者信息、发布时间、相关文章推荐等,以丰富用户的阅读体验。

侧边栏是博客网站的补充内容区域,通常用于展示热门文章、作者介绍、社交媒体链接、广告等。侧边栏的存在可以增加网站的互动性,同时为用户提供更多有价值的信息。但需要注意的是,侧边栏的内容应适量,避免过多干扰用户阅读。

页脚位于博客网站的底部,通常包含版权信息、联系方式、隐私政策等链接。页脚为用户提供了一种方便的途径来了解网站的相关信息,同时也有助于提升网站的专业性和可信度。

综上所述,博客网站的HTML结构是构建其外观和功能的关键所在。通过合理的布局和设计,可以为我们用户提供流畅、直观的阅读体验,同时也有助于提升网站的专业性和可信度。

常见非语义化标签: div:用于创建文档中的一个分区或节。它本身不带有任何语义,仅作为布局容器使用。

span:用于对文档中的小块内容进行分组或应用样式。与

类似,它也不具有语义性。

i:通常用于表示斜体文本,但本身不带有任何特定的语义。

b:用于表示粗体文本,同样不带有任何特定的语义。

u:用于表示下划线文本,也不具有语义性。

差异分析

用途差异: div和span主要用于布局和样式控制,其中

通常作为块级元素使用,而span则作为行内元素使用。 i、b和u则主要用于文本样式的控制,如斜体、粗体和下划线。

语义缺失: 这些标签本身不带有任何特定的语义,因此无法向搜索引擎或屏幕阅读器等辅助技术传达任何有关内容的信息。

可维护性: 由于非语义化标签不表达内容性质,因此在使用时可能需要额外的注释或文档来说明其用途,这增加了代码的可维护性难度。

SEO影响: 搜索引擎通常更依赖语义化标签来理解页面内容,因此过度使用非语义化标签可能会影响页面的搜索引擎优化(SEO)。