Pregunta Hacer un que es un enlace en HTML


Básicamente, me gusta la forma en que <input type="submit"> tiene un estilo, con el botón que se puede hacer clic cuando agrega un poco de CSS. Sin embargo, los botones regulares no tienen el mismo estilo, no tienen capacidad para hacer clic sin algunos CSS o JS importantes, y usted tiene que usar imágenes.

Hice botones de envío en enlaces, mediante el uso de la acción del formulario, pero esto requiere que haga un nuevo formulario para cada botón. ¿Cómo puedo encontrar un medio feliz? El uso de formularios múltiples está causando problemas en mi diseño que parece que no puedo solucionar a menos que encuentre otra forma de crear botones que sean enlaces en HTML, que tengan un estilo predeterminado que los haga tener un estado presionado (y no me refiero a configuración predeterminada del navegador).

¿Algunas ideas?


17
2017-07-27 05:39


origen


Respuestas:


<a href="#"><button>Link Text</button></a>

Pediste un enlace que parece un botón, así que utiliza un enlace y un botón :-) Esto conservará el estilo predeterminado de los botones del navegador. El botón por sí solo no hace nada, pero al hacer clic se activa su enlace principal.

Manifestación:

<a href="http://stackoverflow.com"><button>Link Text</button></a>


28
2017-07-27 08:09



Tienes tres opciones:

  • Estilo de enlaces para que parezcan botones con CSS.

    Solo mira las "etiquetas" de color azul claro bajo tu pregunta.

    Es posible, incluso para darles una apariencia deprimida cuando se hace clic (utilizando pseudo-clases como: activo), sin ningún tipo de secuencias de comandos. Muchos de los principales sitios, como Google, están empezando a hacer botones de estilos CSS en estos días de todos modos, scripting o no.

  • Coloque un elemento <form> separado alrededor de cada uno.

    Como mencionaste en la pregunta. Fácil y definitivamente funcionará sin Javascript (o incluso CSS). Pero agrega un pequeño código extra que puede parecer desordenado.

  • Confíe en Javascript.

    Que es lo que dijiste que no querías hacer.


3
2017-07-27 05:49



Un poco más fácil y se ve exactamente como el botón en el formulario. Simplemente use la entrada y ajuste la etiqueta de ancla alrededor de ella.

<a href="#"><input type="button" value="Button Text"></a>

0
2017-07-06 22:11



Use javascript:

<button onclick="window.location.href='/css_page.html'">CSS page</button>

Siempre puede darle estilo al botón en css anyaways. Espero que haya sido de ayuda!

¡Buena suerte!


0
2017-11-03 07:10



IMPORTANTE:  <button> nunca debería ser un descendiente de <a>.

Tratar <a href="http://stackoverflow.com"><button>Link Text</button></a> en cualquier validador html como https://validator.w3.org y obtendrás un error. Realmente no tiene sentido usar un botón si estás no usando el botón. Solo estilo el <a> con CSS para que parezca un botón. Si está utilizando un marco como Bootstrap, puede aplicar el (los) estilo (s) del botón btn, btn-primary etc.

jsfiddle: botón estilo enlace

.btnStack {
  font-family: Oswald;
  background-color: orange;
  color: white;
  text-decoration: none;
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.428571429;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

a.btnStack:hover {
  background-color: #000;
}
<link href='https://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'>
<a href="http://stackoverflow.com" class="btnStack">stackoverflow.com</a>


0
2018-02-16 16:10



Las 3 formas más sencillas en mi humilde opinión son

1: crea una imagen de un botón y coloca un href a su alrededor. (No es una buena manera, pierde flexibilidad y le proporcionará muchas dificultades y problemas).

2 (El más fácil) -> JQuery

<input type="submit" someattribute="http://yoururl/index.php">

  $('button[type=submit] .default').click(function(){
     window.location = $(this).attr("someattribute");
     return false; //otherwise it will send a button submit to the server

   });  

3 (también es fácil, pero prefiero el anterior):

<INPUT TYPE=BUTTON OnClick="somefunction("http://yoururl");return false" VALUE="somevalue">

$fn.somefunction= function(url) {
    window.location = url;
};

-2
2017-07-27 08:17