es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede eliminar el subrayado de la sobreindicación del enlace.

He estado luchando tratando de eliminar la subrayado de todos los enlaces de forma global en mi proyecto de NextJS.

He intentado tanto con CSS (importando el archivo globals.css en _app.tsx) como con ChakraUI.

La única forma en la que puedo hacerlo funcionar es mediante el uso de:
<link style="{{" textdecoration:="" "none"="" }}=""> pero no quiero usarlo en más de 100 enlaces 🙂

¿Alguna idea?

_app.tsx

import "../styles/globals.scss";
...

const theme = extendTheme({
  global: {
    a: {
      _hover: {
        textDecoration: "none",
      },
    },
  },
  breakpoints,
  fonts: {
    heading: "Poppins",
    body: "Poppins",
  },

  textStyles: {
    h1: {
      // you can also use responsive styles
      fontSize: ["48px", "72px"],
      fontWeight: "bold",
      lineHeight: "110%",
      letterSpacing: "-2%",
    },
    h2: {
      fontSize: ["36px", "48px"],
      fontWeight: "semibold",
      lineHeight: "110%",
      letterSpacing: "-1%",
    },
    h3: {
      fontSize: ["36px", "48px"],
      fontWeight: "semibold",
      lineHeight: "110%",
      letterSpacing: "-1%",
    },
    h4: {
      fontSize: ["14px", "18x"],
      fontWeight: "semibold",
      lineHeight: "110%",
      letterSpacing: "-1%",
      textTransform: "uppercase",
    },
  },
  components: { Input: { baseStyle: { _focus: { boxShadow: "none" } } } },
});

function MyApp({ session, Component, pageProps, country, flag }) {
  return (
    <apolloprovider client="{client}">
      <chakraprovider theme="{theme}">
        <sessionprovider session="{session}">
          <component {...pageprops}="" country="{country}" flag="{flag}"></component>
        </sessionprovider>
        <scrollbutton></scrollbutton>
      </chakraprovider>
    </apolloprovider>
  );
}
export default MyApp;

globals.scss:

a:-webkit-any-link {
  text-decoration: none;
}

a:hover -webkit-any-link {
  text-decoration: none;
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que has intentado tanto CSS como ChakraUI para eliminar globalmente el subrayado de todos los enlaces en tu proyecto de NextJS, pero solo has tenido éxito usando estilos en línea. Una solución que puedes intentar es utilizar nuevamente el enfoque global de CSS pero con un selector CSS más específico. En lugar de apuntar a todos los enlaces con a, puedes apuntar solo a los enlaces dentro de todos los componentes utilizando a:-webkit-any-link. Intenta modificar tu archivo globals.scss de la siguiente manera:

    *:not(html) a:-webkit-any-link {
      text-decoration: none;
    }
    
    *:not(html) a:hover:-webkit-any-link {
      text-decoration: none;
    }
    

    Esto apunta a todos los elementos a dentro de todos los componentes excepto el elemento html, por lo que debería funcionar para tu proyecto de NextJS. ¡Avísame si esta solución te funciona!

Comments are closed.