Mostrando entradas con la etiqueta css. Mostrar todas las entradas
Mostrando entradas con la etiqueta css. Mostrar todas las entradas

viernes, 27 de mayo de 2022

Sumar números de un formulario web con Python y Flask

Puede consultar el código de este proyecto en GitHub: flasksum.

Vamos a crear un formulario web sencillo, usando HTML, con un par de cajas de texto donde el usuario introduzca los valores numéricos y un botón. Al pulsar sobre el botón, se lanza un procedimiento programado en Python, que permitirá sumar los dos números y mostrar el resultado en esa misma página web.

Utilizaremos un servidor Flask, programando en Python y usaremos Jinja2 para hacer la operación matemática con las variables.


Antes de introducir valores.

Sumando dos números.

Estructura de directorios y archivos


Archivo app.py

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        vals = request.form.getlist('misvalores')
        val1 = float(vals[0])
        val2 = float(vals[1])
        result = val1 + val2
    else:
        val1 = ''
        val2 = ''
        result = ''
    return render_template('index.html', val1=val1, val2=val2, result=result)

if __name__ == "__main__":
    app.run(debug=True, port=5000)

Archivo index.html

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Página Flask</title>
    <link href="../static/css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
    <h1>Operaciones matemáticas con Flask</h1>
    <h2>Suma de dos números</h2>
    <p>Introduzca dos números y pulse el botón para obtener la suma.</p>
    <form action="/" method="POST">
        <p>Input 1: <input name="misvalores" value="{{ val1 }}"></p>
        <p>Input 2: <input name="misvalores" value="{{ val2 }}"></p>
        <input type="submit" value="Sumar">
    </form>
    <br>
    <p>Resultado: {{ result }}</p>
</body>
</html>

Archivo style.css

body {
    background-color: rgb(225, 255, 240);
  }

h1   {color: blue;}

Dentro de la carpeta static dejamos praparadas para una posible ampliación las carpetas imgs y js.

miércoles, 16 de septiembre de 2020

Párrafo con colores random

Con este código queremos tener un 50% de probabilidades de interaccionar con el párrafo. Si la suerte determina que no podemos interactuar con el párrafo al pasar el cursor por encima se nos cambiará a una señal de prohibido. En caso contrario al pasar el cursor encima cambiará para hacer click y al actuar cambiará el color del texto a un valor hexadecimal aleatorio.

El código en GitHub: https://github.com/magnitopic/edujs/tree/master/jQueryColorRandom

Mira el codigo ejecutandose en relp.it: https://repl.it/@valoro/ParrafoColorRandom#index.html

index.html
 <!DOCTYPE html>  
 <html lang="en">  
 <head>  
   <meta charset="UTF-8">  
   <meta name="viewport" content="width=device-width, initial-scale=1.0">  
   <title>Document</title>  
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>  
 </head>  
 <body>  
   <p>Lo importante es no dejar de hacer preguntas.</p>  
   <script src="script.js"></script>  
 </body>  
 </html>  

script.js
 $(function(){  
   'use strict'  
   function aleatorio(){  
     return Math.random();  
   }   
   if( aleatorio()<= 0.5){  
     $('p').hover(function(){  
       $("p").css("cursor", "not-allowed");  
     })  
   }else{  
     $('p').hover(function(){  
       $("p").css("cursor", "pointer");  
     })  
     $('p').click(function(){  
       $("p").css("color", '#'+(0x1000000+(aleatorio())*0xffffff).toString(16).substr(1,6));  
     })  
   }  
 });  

sábado, 3 de agosto de 2019

css link cambia al pasar el mouse

El código CSS nos permite cambiar el estilo de nuestra página web. En esta ocasión vamos a ver como modificar el aspecto de los enlaces al pasar el ratón sobre ellos y al pulsarlos.
  1. En css podemos añadir al link un subrayado al pasar el puntero del ratón.
  2. Podemos hacer que el link tenga un color diferente antes o después de haber sido pulsado

HTML

Así veíamos la página antes de introducir el código css.
antes de introducir el css
 <!DOCTYPE html>  
 <html>  
  <head>  
   <meta charset="utf-8">  
   <title>css hover</title>  
   <link href="style.css" rel="stylesheet" type="text/css" />  
  </head>  
  <body>  
   <p><a href="https://www.excelavanzado.com">página de excelavanzado.com</a></p>  
   <p><a href="https://altocodigo.blogspot.com">página de altocodigo</a></p>  
   <p><a href="https://www.masterfinanciero.es">página de masterfinanciero.es</a></p>  
  </body>  
 </html>  

CSS

Lo que hemos logrado es eliminar el subrayado inicial y que éste se ponga al pasar el mouse por el link. También hemos cambiado los colores de la tinta que se ven de los link ya utilizados y de los no utilizados aún. Además ponemos en amarillo el fondo al pasar el mouse sobre el link usando un hover.
después de aplicar el código css

imagen del código css que vemos en rep.it
 a:link {  
  color: red;  
  text-decoration: none;}  
 a:visited {  
  color: gray;  
  text-decoration: none;}  
 a:active {  
  text-decoration: none  
  }  
 a:hover {  
  color: blue;  
  background-color: yellow;  
  text-decoration: underline;}  
Para saber más podemos visitar la página de w3schools:

lunes, 29 de julio de 2019

Cambiar color usando el DOM en JavaScript

Este artículo forma parte de una serie que trata sobre el DOM (Document Object Model) y su manejo desde JavaScript.
  1. JavaScript manejo del DOM
  2. Manejar el DOM en JavaScript
  3. Cambiar color usando el DOM en JavaScript
  4. JavaScript manejando el DOM por sus etiquetas
  5. JavaScript manejando el DOM con las clases
  6. JavaScript manejando el DOM
En esta ocasión vamos a diseñar un caso práctico donde podemos cambiar el color del texto y del fondo de forma aleatoria pulsando un botón.


HTML

El documento se llama index.html.

Creamos un div con el id="zona". Creamos un botón que al ser pulsado lanza una función de JavaScript.

 <!DOCTYPE html>  
 <html>  
  <head>  
   <meta charset="utf-8">  
   <title>manejo del DOM</title>  
   <link href="dom2.css" rel="stylesheet" type="text/css" />  
  </head>  
  <body>  
   <div id="zona">¡Hola!</div>  
   <div>  
    <br>  
    <button type="button" onclick="mifuncion()">Cambia el color aleatoriamente</button>  
   </div>  
   <script src="dom2.js"></script>  
  </body>  
 </html>  

CSS

El documento se llama dom2.css. Proporcionamos unos valores iniciales para los colores de texto y fondo. Definimos el tamaño de nuestro rectángulo.

 #zona {  
    width: 200px;  
    height: 60px;  
    background-color: beige;  
    color: grey;  
    text-align: center;  
    font-size: 250%;  
    }  
    button{  
        height:50px;  
        width:150px;  
       }  

JavaScript

El documanto se llama dom2.js

Si tuviéramos un valor concreto de color rgb hubieramos escrito, por ejemplo:

rectangulo.style.color='rgb(50,200,100)';

Al usar variables aleatorias hemos tenido que concatenarlas para formar nuestro código.


 var rectangulo=document.getElementById("zona");  
 function mifuncion() {  
  var a=Math.floor(Math.random()*255);  
  var b=Math.floor(Math.random()*255);  
  var c=Math.floor(Math.random()*255);  
  var x=Math.floor(Math.random()*255);  
  var y=Math.floor(Math.random()*255);  
  var z=Math.floor(Math.random()*255);  
  rectangulo.style.backgroundColor='rgb('+a+','+b+','+c+')';  
  rectangulo.style.color='rgb('+x+','+y+','+z+')';  
 }  

viernes, 3 de agosto de 2018

Nombrar elementos en CSS

En CSS si quieres afectar a algún elemento del HTML tienes varias opciones.

La mas obvia es referirse a los elementos por etiquetas, simplemente escribiendo la etiqueta como se haría en HTML sin el mayor y menor. Como esto:

 p {  
   background-color: red;  
 }  
Y el resultado seria algo a esto:

Pero si quisiéramos darle un color diferente a cada p le tendríamos que dar un nombre diferente a cada p, para ello en HTML habría que hacer algo así: 

 <p id='uno'>Y en este los dos</p>  
 <p id='dos'>estamos de colores distintos</p>  

Y para llamarlos en el CSS hay que poner un # delante del nombre y escribir los parámetros como haríamos normalmente, similar a esto:

 #uno {  
   background-color: red;  
 }  
 #dos {  
   background-color: blue;  
 }  

Y con esas dos cosas implementadas en tu código el resultado debería de ser este:
También se puede utilizar * para afectar a todos los elementos (esto también incluye el fondo).
Este seria un ejemplo:


 * {  
  margin:1;  
  padding:2;  
 }  

martes, 24 de abril de 2018

Canvas en HTML5+CSS+JS creando puntitos aleatorios

Con HTML5 podemos crear un canvas que es un lienzo donde poder dibujar figuras geométricas y puntos. En este caso vamos a generar puntos de forma aleatoria usando Java Script.

Versión 1

Puede ver el resultado en la siguiente página web.

https://canvaspuntitos1--financieras.repl.co

Recargando la página con F5 en nuestro navegador hemos creado el siguiente gif animado.



El código utilizado es el siguiente.

HTML 

El fichero se llama index.html.

 <!DOCTYPE html>  
 <html>  
 <head>  
   <meta charset="utf-8" />  
   <meta name="viewport" content="width=device-width">  
   <title>Gamedev Canvas Workshop</title>  
   <link href="index.css" rel="stylesheet" type="text/css" />  
 </head>  
 <body>  
 <canvas id="myCanvas" width="400" height="400"></canvas>  
 <script src="index.js"></script>  
 </body>  
 </html>  

CSS

El fichero se llama  index.css.

 * { padding: 0; margin: 0; }  
        canvas { background: #eee; display: block; margin: 0 auto; }  

JavaScript

El fichero se llama  index.js.

 var canvas = document.getElementById("myCanvas");  
 var ctx = canvas.getContext("2d");  
 ctx.beginPath();  
 for (i = 0; i < 100000; i++) {  
  x=Math.floor(Math.random() * canvas.width) + 1;  
  y=Math.floor(Math.random() * canvas.height) + 1;  
      ctx.fillRect(x,y,1,1);  
 }  
 ctx.closePath();  

Veamos un GIF animado que se obtiene recargando la página web. El gif animado se ha creado con GifCam.exe


Cada vez que se recarga la página se generan 100.000 nuevos puntos aleatorios que se muestran en el canvas.

Versión 2

En la segunda versión de este código lo que queremos es crear una circunferencia con los puntos aleatorios. Cambia el código JavaScript.

JavaScript

 var canvas = document.getElementById("myCanvas");  
 var ctx = canvas.getContext("2d");  
 ctx.beginPath();  
 for (i = 0; i < 100000; i++) {  
  x=Math.floor(Math.random() * canvas.width) + 1-canvas.width/2;  
  y=Math.floor(Math.random() *canvas.height) + 1-canvas.width/2;  
      if (y<Math.sqrt((canvas.width/2)**2-x**2) && y>-Math.sqrt((canvas.width/2)**2-x**2)){  
       ctx.fillRect(x+canvas.width/2,y+canvas.width/2,1,1);  
  }  
 }  
 ctx.closePath();  

La página dónde se puede ver es la siguiente.

https://canvasPuntitos2--financieras.repl.co


Lo que se hace con el if es eliminar los puntos que quedan fuera del circulo. Solo se representan en el canvas los puntitos que quedan dentro del circulo.


Versión 3

Vamos a crear la función draw() que se repetirá cada 100 milisegundos gracias a la siguiente sentencia.

setInterval(draw, 100);

Nuestro código quedará así.

 var canvas = document.getElementById("myCanvas");   
 var ctx = canvas.getContext("2d");   
 function draw(){  
   ctx.clearRect(0, 0, canvas.width, canvas.height);  
   ctx.beginPath();   
    for (i = 0; i < 100000; i++) {   
    x=Math.floor(Math.random() * canvas.width) + 1-canvas.width/2;   
    y=Math.floor(Math.random() *canvas.height) + 1-canvas.width/2;   
    if (y<Math.sqrt((canvas.width/2)**2-x**2) && y>-Math.sqrt((canvas.width/2)**2-x**2)){   
      ctx.fillRect(x+canvas.width/2,y+canvas.width/2,1,1);   
      }   
      }   
  ctx.closePath();   
 }  
 setInterval(draw, 100);  

Podemos ver la esfera actualizándose 10 veces cada segundo en la siguiente página.

jueves, 15 de junio de 2017

Calculadora básica en JavaScript

El siguiente código está desarrollado en la página: http://www.aprenderaprogramar.com

Se trata de una calculadora muy básica creada con HTML + CSS + JavaScript.

 <!DOCTYPE html>  
 <html><head><title>Ejemplo calculadora</title><meta charset="utf-8">  
 <style type="text/css">  
 body {font-family: sans-serif; text-align:center;}  
 #calculadora { font: bold 14px Arial,sans-serif; background-color: #9DD2EA; border-radius: 3px; height: auto; margin: 0 auto;  
   padding: 20px 20px 9px; width: 285px;}  
 .parteSuperior .pantalla { background-color: rgba(0, 0, 0, 0.2); border-radius: 3px; color: #FFFFFF; float: right; font-size: 15px; height: 40px; letter-spacing: 1px; line-height: 40px; padding: 0 10px; text-align: right; width: 192px;}  
 .teclas, .parteSuperior {overflow: hidden; }  
 .teclas span, .parteSuperior span.limpiar {   background-color: #FFFFFF; border-radius: 3px; color: #888888; cursor: pointer;  
   float: left; height: 36px; line-height: 36px; margin: 0 7px 11px 0; text-align: center; transition: all 0.4s ease 0s; width: 66px;}  
 .parteSuperior span.limpiar { background-color:#FF7C87;}  
 .teclas span.operador { background-color: #FFDAB9; margin-right: 0; }  
 .teclas span.igual { background-color: #F1FF92; color: #888E5F;}  
 .parteSuperior span.limpiar, { background-color: #FF9FA8; color: #FFFFFF; }  
 .teclas span:hover, .teclas span.igual:hover, .parteSuperior span.limpiar:hover {  
   background-color: #9C89F6; color: #FFFFFF;  
 }  
 </style>  
 <script type="text/javascript">  
 function pulsada (tecla) {  
 var listaNodosPantalla = document.getElementsByClassName('pantalla');  
 var nodoTextoPantalla = listaNodosPantalla[0].firstChild;  
 switch(tecla) {  
         case 'C':  
         nodoTextoPantalla.nodeValue = ' ';  
         break;  
         case '=':  
         var resultado = eval(nodoTextoPantalla.nodeValue);  
         nodoTextoPantalla.nodeValue = resultado;  
         break;  
         default:  
         nodoTextoPantalla.nodeValue = nodoTextoPantalla.nodeValue + tecla;  
         break;  
 }  
 }  
 </script>  
 </head>  
 <body><div id="cabecera"><h2>Calculadora básica</h2><h3>Ejemplo calculadora JavaScript</h3></div>  
 <!-- Calculadora -->  
 <div id="calculadora">  
         <!-- pantalla y tecla limpiar -->  
         <div class="parteSuperior">  
                 <span class="limpiar" onclick="pulsada('C')">C</span>  
                 <div class="pantalla"> </div> <!--Ojo tenemos un espacio para que exista nodeValue-->  
         </div>  
         <div class="teclas">  
                 <!-- operadores y otras teclas -->  
                 <span onclick="pulsada('7')">7</span>  
                 <span onclick="pulsada('8')">8</span>  
                 <span onclick="pulsada('9')">9</span>  
                 <span class="operador" onclick="pulsada('+')">+</span>  
                 <span onclick="pulsada('4')">4</span>  
                 <span onclick="pulsada('5')">5</span>  
                 <span onclick="pulsada('6')">6</span>  
                 <span class="operador" onclick="pulsada('-')">-</span>  
                 <span onclick="pulsada('1')">1</span>  
                 <span onclick="pulsada('2')">2</span>  
                 <span onclick="pulsada('3')">3</span>  
                 <span class="operador" onclick="pulsada('/')">÷</span>  
                 <span onclick="pulsada('0')">0</span>  
                 <span onclick="pulsada('.')">.</span>  
                 <span class="igual" onclick="pulsada('=')">=</span>  
                 <span class="operador" onclick="pulsada('*')">x</span>  
         </div>  
 </div>  
 </body>  
 </html>  


Se puede probar la calculadora en el siguiente enlace.