Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] imagen diagonal

Estas en el tema de imagen diagonal en el foro de CSS en Foros del Web. Amigos estoy usando WP y mi presentación es mostrando las miniaturas + el título del post, estoy intentando crear un imagen diagonal cada vez que ...
  #1 (permalink)  
Antiguo 08/04/2015, 11:51
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 9 meses
Puntos: 8
De acuerdo imagen diagonal

Amigos estoy usando WP y mi presentación es mostrando las miniaturas + el título del post, estoy intentando crear un imagen diagonal cada vez que ingreso un post nuevo y que esta imagen debe estar visible por una semana.....¿alguna idea de cómo debo hacerlo?

La imagen es esta.....

  #2 (permalink)  
Antiguo 08/04/2015, 12:50
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

Si tu pregunta es como programar para que solo se muestre una semana después de ser publicado, deberías de preguntar en PHP,

Si quieres saber como colocar la imagen vertical seria así:

Código HTML:
Ver original
  1. <div class="libro">
  2.     <img class="nuevo" src="imagen_de_la_esquina" />
  3.     <div class="contenido">
  4.         <p>Leído 680 veces</p>
  5.     </div>
  6. </div>

Código CSS:
Ver original
  1. .libro {
  2.     position: relative;
  3.     width: 150px;
  4.     height: 200px;
  5. }
  6.  
  7. .nuevo {  
  8.     left: 0px;
  9.     position: absolute;
  10.     top: 0px;  
  11. }

Puedes verlo aquí: https://jsfiddle.net/5a5jbvwh/1/

Para la "imagen_de_la_esquina" te recomiendo algo así: http://acf.bones.com/skin/frontend/s...t-l-corner.png
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.
  #3 (permalink)  
Antiguo 08/04/2015, 12:57
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

También puedes poner un div con la imagen de fondo:

Código HTML:
Ver original
  1. <div class="libro">
  2.     <div class="nuevo"></div>
  3.     <div class="contenido">
  4.         <p>Leído 680 veces</p>
  5.     </div>
  6. </div>

Código CSS:
Ver original
  1. .libro {
  2.     position: relative;
  3.     width: 150px;
  4.     height: 200px;
  5. }
  6.  
  7. .nuevo {
  8.     background: url('imagen_de_la_esquina') no-repeat;
  9.     height: 70px;
  10.     left: 0px;
  11.     position: absolute;
  12.     top: 0px;  
  13.     width: 70px;
  14. }

Ejemplo: https://jsfiddle.net/690stsp6/
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.
  #4 (permalink)  
Antiguo 08/04/2015, 13:37
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 9 meses
Puntos: 8
Respuesta: imagen diagonal

Muchas gracias amigo.

  #5 (permalink)  
Antiguo 08/04/2015, 13:42
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

No olvides de marcarlo como solucionado xD
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.
  #6 (permalink)  
Antiguo 08/04/2015, 14:19
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: imagen diagonal

Una solución solo con CSS:

Código CSS:
Ver original
  1. div {
  2.   position: relative;
  3.   width: 200px;
  4.   height: 280px;
  5.   border: 1px solid;
  6.   overflow: hidden;
  7. }
  8.  
  9. div:before {
  10.   position: absolute;
  11.   top: 0;
  12.   left: 0;
  13.   width: 75%;
  14.   padding: 10px 0;
  15.   text-align: center;
  16.   color: #fff;
  17.   background: #f00;
  18.   content: 'nuevo';
  19.   transform: translate(-25%, 50%) rotate(-45deg);
  20. }

__________________
(:
  #7 (permalink)  
Antiguo 08/04/2015, 14:38
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

Pensé en :before, pero recordé que lo quería para wordpress, y pensé que sería mejor con un div que pueda condicionar con php. Pero ahora que pienso, puede condicionar el class que tenga ese :before.

Buen aporte! +1, Saludos!
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.
  #8 (permalink)  
Antiguo 08/04/2015, 16:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: imagen diagonal

Hola:

Otra opción: imágenes svg (hasta con animaciones)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 08/04/2015, 19:14
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 11 años, 2 meses
Puntos: 39
Respuesta: imagen diagonal

Y para implementarlo en wordpress necesitas usar un custom-field en cada post nuevo que haces, luego dentro del loop llamas a la función get_post_meta() y con un condicional programas si se va mostrar el mensaje nuevo o no...
__________________
velarde23.com - Soluciones Web
  #10 (permalink)  
Antiguo 08/04/2015, 20:14
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 9 meses
Puntos: 8
Respuesta: imagen diagonal

Cita:
Iniciado por siddartha23 Ver Mensaje
Y para implementarlo en wordpress necesitas usar un custom-field en cada post nuevo que haces, luego dentro del loop llamas a la función get_post_meta() y con un condicional programas si se va mostrar el mensaje nuevo o no...
ni idea de cómo llamarlo con un condicional amigo.
  #11 (permalink)  
Antiguo 08/04/2015, 20:26
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

Algo así:

Código PHP:
Ver original
  1. <?php global $wp_query; $postid = $wp_query->post->ID;
  2.         $new =  get_post_meta($postid, 'NEW', true);
  3.         if($new) {
  4.             echo '<div class="nuevo"></div>'; }
  5.         ?>

El "<div class="nuevo"></div>" lo puedes cambiar por el método que hayas elegido para poner la etiqueta de "nuevo".

Y en los post que quieras mostrar el cartelito de "nuevo", le pones un custom-field con el nombre "NEW".

Edito: Si quieres que este en español, solo cambia en el código donde dice "NEW", y cámbialo por ejemplo con "NUEVO", y así ahora el nombre del custom-field seria "NUEVO".

Saludos!
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.

Última edición por mardojai; 08/04/2015 a las 20:33
  #12 (permalink)  
Antiguo 08/04/2015, 21:11
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 9 meses
Puntos: 8
Respuesta: imagen diagonal

Perfecto amigos, pero usar el Custom-field ya hace que el trabajo sea manual...osea si quiero mostrar el NEW por una semana...habrá que modificar el post dentro de una semana para retirar el NEW.....y si tengo 50 new? :s
  #13 (permalink)  
Antiguo 08/04/2015, 21:52
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

Me la estoy jugando tremendamente siendo un novato en php xD
Pero se me ocurrió esto, es para el loop de tus posts:

Código PHP:
Ver original
  1. <?php
  2. $local_timestamp = time();
  3. $segundos_semana = 604800;
  4. $tiempo_total = $local_timestamp - $segundos_semana;
  5.  
  6. if ($tiempo_total < get_the_time('U');) {
  7.   echo '<div class="nuevo"></div>';
  8. }
  9. ?>

Ojala te funcione xDD
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.
  #14 (permalink)  
Antiguo 08/04/2015, 22:03
Avatar de mardojai  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años
Puntos: 44
Respuesta: imagen diagonal

Lo mejoro y lo anoto:

Código PHP:
Ver original
  1. <?php
  2. $tiempo_de_publicado = time() - 604800; // Restamos los segundos de una semana a el tiempo unix (en segundos) actual.
  3.  
  4. if ($tiempo_de_publicado < get_the_time('U'))  { // Si la resta es menor al tiempo unix (en segundos) en que se publico el post, mostramos el cartel.
  5.   echo '<div class="nuevo">dsdsd</div>';
  6. }
  7. ?>
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.
  #15 (permalink)  
Antiguo 09/04/2015, 00:04
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 9 meses
Puntos: 8
Respuesta: imagen diagonal (solucionado)

Amigos ya quedó con este código

Código PHP:
<?php
    $post_date 
strtotime$post->post_date );
    
$limit_time time() - ( DAY_IN_SECONDS );
?>
<?php 
if ($post_date $limit_time):?>
    <div class="nuevo"></div>
<?php endif ?>
Muchas gracias por todo.

Etiquetas: diagonal
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:34.