plugin personalizar form enviar customizer columnas color cf7 cambiar boton attribute html css html5 css3 html-input

html - personalizar - Cómo agregar el botón dentro de la entrada



title html (5)

Estoy tratando de lograr esto:

Quiero que la flecha azul actúe como un botón con activadores de desplazamiento y onclick; ¿¿Es posible??


Use un flexbox y coloque el borde en el formulario.

La mejor forma de hacerlo ahora (2017) es con un flexbox.

  • Coloque el borde en el elemento contenedor (en este caso he usado el formulario, pero podría usar un div).
  • Use un diseño de FlexBox para organizar la entrada y el botón uno al lado del otro. Permita que la entrada se extienda para ocupar todo el espacio disponible.
  • Ahora oculta la entrada quitando su borde.

Ejecute el siguiente fragmento para ver lo que obtiene.

form { /* This bit sets up the horizontal layout */ display:flex; flex-direction:row; /* This bit draws the box around it */ border:1px solid grey; padding:2px; } input { /* Tell the input to use all the available space */ flex-grow:2; /* And hide the input''s outline, so the form looks like the outline */ border:none; } button { /* Just a little styling to make it pretty */ border:1px solid blue; background:blue; color:white; }

<form> <input /> <button>Go</button> </form>

Por qué esto es bueno

  • Se extenderá a cualquier ancho.
  • El botón siempre será tan grande como debe ser. No se estirará si la pantalla es ancha, o se encogerá si la pantalla es estrecha.
  • El texto de entrada no irá detrás del botón.

Advertencias

Hay soporte limitado de Flexbox en IE9, por lo que el botón no estará a la derecha del formulario. Personalmente, me complace que los usuarios de IE9 puedan ver el botón de abajo.


El botón no está dentro de la entrada. Aquí:

input[type="text"] { width: 200px; height: 20px; padding-right: 50px; } input[type="submit"] { margin-left: -50px; height: 20px; width: 50px; }

Ejemplo: http://jsfiddle.net/s5GVh/


Encontré un gran código para ti:

HTML

<form class="form-wrapper cf"> <input type="text" placeholder="Search here..." required> <button type="submit">Search</button> </form>

CSS

/*Clearing Floats*/ .cf:before, .cf:after { content:""; display:table; } .cf:after { clear:both; } .cf { zoom:1; } /* Form wrapper styling */ .form-wrapper { width: 450px; padding: 15px; margin: 150px auto 50px auto; background: #444; background: rgba(0,0,0,.2); border-radius: 10px; box-shadow: 0 1px 1px rgba(0,0,0,.4) inset, 0 1px 0 rgba(255,255,255,.2); } /* Form text input */ .form-wrapper input { width: 330px; height: 20px; padding: 10px 5px; float: left; font: bold 15px ''lucida sans'', ''trebuchet MS'', ''Tahoma''; border: 0; background: #eee; border-radius: 3px 0 0 3px; } .form-wrapper input:focus { outline: 0; background: #fff; box-shadow: 0 0 2px rgba(0,0,0,.8) inset; } .form-wrapper input::-webkit-input-placeholder { color: #999; font-weight: normal; font-style: italic; } .form-wrapper input:-moz-placeholder { color: #999; font-weight: normal; font-style: italic; } .form-wrapper input:-ms-input-placeholder { color: #999; font-weight: normal; font-style: italic; } /* Form submit button */ .form-wrapper button { overflow: visible; position: relative; float: right; border: 0; padding: 0; cursor: pointer; height: 40px; width: 110px; font: bold 15px/40px ''lucida sans'', ''trebuchet MS'', ''Tahoma''; color: #fff; text-transform: uppercase; background: #d83c3c; border-radius: 0 3px 3px 0; text-shadow: 0 -1px 0 rgba(0, 0 ,0, .3); } .form-wrapper button:hover { background: #e54040; } .form-wrapper button:active, .form-wrapper button:focus { background: #c42f2f; outline: 0; } .form-wrapper button:before { /* left arrow */ content: ''''; position: absolute; border-width: 8px 8px 8px 0; border-style: solid solid solid none; border-color: transparent #d83c3c transparent; top: 12px; left: -6px; } .form-wrapper button:hover:before { border-right-color: #e54040; } .form-wrapper button:focus:before, .form-wrapper button:active:before { border-right-color: #c42f2f; } .form-wrapper button::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */ border: 0; padding: 0; }

Demostración: En el violín Fuente: Speckyboy


Puede usar el background:url(ur_img.png) CSS background:url(ur_img.png) para insertar la imagen dentro del cuadro de entrada, pero para crear el evento haga clic, debe fusionar su imagen de flecha y el cuadro de entrada.


.flexContainer { display: flex; } .inputField { flex: 1; }

<div class="flexContainer"> <input type="password" class="inputField"> <button type="submit"><img src="arrow.png" alt="Arrow Icon"></button> </div>