如何在Next js中的同一元素上使用CSS和Bootstrap样式?

8dtrkrch  于 2023-08-09  发布在  Bootstrap
关注(0)|答案(1)|浏览(126)

我想将Bootstrap类sticky-top添加到另一个CSS样式元素中。这不管用。

  • 我尝试在没有Bootstrap的情况下通过将position: sticky, top: 0添加到CSS中,但它不起作用。Bootstrap sticky-top只在我删除CSS类${styles.profile_nav_css}时才起作用
import Link from "next/link";
import styles from "../styles.module.css";
export const Nav = () => {
  return (
    <div className={`sticky-top ${styles.profile_nav_css} `}>
      <Link href="/profile" className="text-decoration-none">
        Dashboard
      </Link>
      <br />
      <Link href="/profile/add-vehicle" className="text-decoration-none">
        Add Vehicle
      </Link>
      <br />
      <Link href="/profile/hires" className="text-decoration-none">
        Hires
      </Link>
    </div>
  );
};

个字符

huwehgph

huwehgph1#

根据您提供的代码,似乎您正在尝试使用Bootstrap类sticky-top沿着自定义CSS类profile_nav_css来创建粘性导航栏。但是,有几个问题可能导致此问题。
CSS类的顺序不正确:在JSX代码中,首先应用了sticky-top类,然后应用了自定义类profile_nav_css。但是,顺序在CSS中很重要,稍后应用的类的属性可能会覆盖前面的属性。要确保Bootstrap类优先,您应该颠倒类的顺序:

<div className={`${styles.profile_nav_css} sticky-top`}>

字符串
与自定义CSS冲突:您已经在CSS文件中为类profile_nav_css定义了样式,这可能会与Bootstrap sticky-top类的样式发生冲突。使用Bootstrap类时,最好避免使用可能会干扰Bootstrap类预期行为的自定义样式。您可以考虑删除.profile_nav_css的自定义样式。下面是更新后的代码片段:

import Link from "next/link";
import styles from "../styles.module.css";
export const Nav = () => {
  return (
    <div className={`${styles.profile_nav_css} sticky-top`}>
      <Link href="/profile" className="text-decoration-none">
        Dashboard
      </Link>
      <br />
      <Link href="/profile/add-vehicle" className="text-decoration-none">
        Add Vehicle
      </Link>
      <br />
      <Link href="/profile/hires" className="text-decoration-none">
        Hires
      </Link>
    </div>
  );
};


通过此更改,Bootstrap sticky-top类应该可以正确应用,并且您的导航栏应该像预期的那样粘在页面顶部。希望这会有帮助。

相关问题