我试图使用tailwind CSS在另一个元素的边框内对齐一些文本,这样我的元素周围的边框在元素周围绘制一个周长,并与边框中心顶部的文本有一个中断.

这是在React组件内完成的.

我对Tailwind CSS非常陌生.事实上,这是如此之新,以至于我想要的目标来自following StackOverflow Question人,但那里提供的解决方案似乎不起作用.

我try 了以下方法:

  • 为我的标签的h2span元素向类中添加mt-5pd-5,以便添加一个边距,将标签向下移动到边框中,但这似乎不起作用.
  • 将包含span个元素的h2个元素包装在div中,并将mt-5pd-5应用于该元素,但这也不起作用.
  • 我也try 过通过Chrome开发工具在浏览器中编辑页边空白,但没有帮助.

我的代码:

export default function Skills() {
    return (
        <section id="skills">
            <div className="container px-5 py-10 mx-auto">
                <div className="pt-3">
                    <h2 className="w-full text-center leading-border-text mt-5">
                        <span className="text-sm font-medium">My desired label</span>
                    </h2>
                    <div className="flex flex-wrap px-5 pb-5 pt-4 border-b border-t border-r border-l border-gray-600 rounded-md">
                        Some content here.
                    </div>
                </div>
            </div>
        </section>
    );
}

leading-border-text TailwindCSS类是我在tailwind.config.js中定义的一个类,它只需添加0.1的自定义线条高度.

module.exports = {
  content: [
    "./src/**/*.{js,jsx,ts,tsx}",
  ],
  theme: {
    extend: {
      lineHeight: {
        'border-text': '0.1'
      }
    },
  },
  plugins: [],
}

这是我的代码当前呈现的内容:

enter image description here

我希望文本,My desired label与它下方的边界对齐.

我做错了什么?

推荐答案

I would absolutely position the label in a relative parent element like so:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.19/tailwind.min.css" integrity="sha512-wnea99uKIC3TJF7v4eKk4Y+lMz2Mklv18+r4na2Gn1abDRPPOeef95xTzdwGD9e6zXJBteMIhZ1+68QC5byJZw==" crossorigin="anonymous" referrerpolicy="no-referrer" />


<div class="bg-gray-700 min-h-screen text-gray-400">

  <!-- Skills() -->
  <div class="container mx-auto px-5 py-10">
    <div class="relative rounded-md border border-gray-600">
      <p class="p-3">Some content here.</p>
      <h2 class="absolute flex top-0 left-1/2 transform -translate-x-1/2 -translate-y-1/2">
        <span class="bg-gray-700 px-2 text-sm font-medium">My desired label</span>
      </h2>
    </div>
  </div>
  <!-- Skills() -->
  
</div>

这样,即使标签的大小发生变化,标签也将始终居中于相对父元素的顶行.

Javascript相关问答推荐

未使用Outlet渲染子组件

如何循环访问对象数组并以关键值形式获得结果?

为什么在集内和集外会产生不同的promise 状态(使用Promise.race)?

在JavaScript中检索一些文本

如何使用JavaScript用等效的功能性HTML替换标记URL格式?

具有相同参数的JS类

React:未调用useState变量在调试器的事件处理程序中不可用

对象和数字减法会抵消浏览器js中的数字

使用JavaScript在ionic Web应用程序中更新.pane和.view的背景 colored颜色

类构造函数不能在没有用With Router包装的情况下调用

如何在箭头函数中引入or子句?

自定义图表工具提示以仅显示Y值

如何访问此数组中的值?

JS Animate()方法未按预期工作

在不扭曲纹理的情况下在顶点着色器中旋转UV

Node.js API-queryAll()中的MarkLogic数据移动

如何通过Axios在GraphQL查询中发送数组

Reaction useState和useLoaderData的组合使用引发无限循环错误

如何在下一个js中更改每个标记APEXCHARTS图表的 colored颜色

如何在Java脚本中并行运行for或任意循环的每次迭代