You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Next.js+Tailwind CSS中将ul元素置于页面左侧?

解决Next.js + Tailwind CSS中ul元素左对齐及margin-right不生效的问题

你的问题核心在于父容器的flex布局属性导致ul元素被强制居中,进而让mr-24无法生效。具体来说,外层section设置了flex flex-col justify-center items-center,其中items-center会让所有子元素在水平方向上居中对齐,即使你给ul加了text-left,也只是让内部文本左对齐,整个ul元素本身还是处于页面水平居中状态,此时右外边距无法直观体现效果。

下面提供两种可行的解决方案:

方案一:修改外层section的对齐方式

如果希望整个section内的元素都左对齐,直接把items-center改成items-start,这样所有子元素都会沿水平方向左对齐,ul的mr-24就能正常生效:

<section class="px-4 lg:px-20 flex flex-col justify-center items-start">
    <h1 class="font-sans font-bold text-4xl md:text-5xl lg:text-4xl leading-loose text-white-800 mt-20">Website</h1>
    <div class="text-white-800 mt-20">
        <h1 className='font-sans font-bold text-4xl md:text-5xl lg:text-4xl leading-loose text-white-800 mb-6'>Nextjs</h1>
        <ul class="list-disc mr-24 text-left">
            <li>First bullet point</li>
            <li>Second bullet point</li>
            <li>Third bullet point</li>
        </ul>
    </div>
</section>

方案二:单独调整ul所在的div

如果不想改变整个section的对齐方式,只想让ul所在的区块左对齐,给包裹ul的div添加self-start类,这个类会让该div在flex容器中打破items-center的全局设置,单独左对齐:

<section class="px-4 lg:px-20 flex flex-col justify-center items-center">
    <h1 class="font-sans font-bold text-4xl md:text-5xl lg:text-4xl leading-loose text-white-800 mt-20">Website</h1>
    <div class="text-white-800 mt-20 self-start">
        <h1 className='font-sans font-bold text-4xl md:text-5xl lg:text-4xl leading-loose text-white-800 mb-6'>Nextjs</h1>
        <ul class="list-disc mr-24 text-left">
            <li>First bullet point</li>
            <li>Second bullet point</li>
            <li>Third bullet point</li>
        </ul>
    </div>
</section>

两种方案都能实现ul元素左对齐且右外边距生效的效果,你可以根据整体页面布局需求选择其中一种。

内容的提问来源于stack exchange,提问作者user21687269

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:35:28