Publicidad

Autor Tema: Tabs animados solo con CSS  (Leído 685 veces)

Desconectado Sir_German

  • Hero Member
  • *****
  • Mensajes: 515
  • Power: 139
  • Sexo: Masculino
  • Germancho!!! ?
    • Ver Perfil
    • http://www.descargatelofree.net
    • Email
Tabs animados solo con CSS
« en: Noviembre 04, 2011, 10:59:09 pm »
Con este código puede poner una sección de tabs animados, sin la necesidad de utilizar jQuery.

aclaro que es el archivo original de la v2.3 + los cambios hechos para los VAGOS COMO YO  :-D

Solo tenes que colocar el recent.php en /Sources
y el Recent.template.php en la carpeta de tu THEME


Acá unas Cap del Bloque


Y aca esta Manual

En el Recent.php reemplazar desde

Código: [Seleccionar]
//Top poster week

hasta la siguiente linea

Código: [Seleccionar]
mysql_free_result($request);

por

Código: [Seleccionar]
//Top poster week
        $starttime = mktime(0, 0, 0, date("n"), date("j")-7, date("Y"));
$starttime = forum_time(false, $starttime);

$request = db_query("
SELECT me.money, me.avatar, me.ID_MEMBER, me.memberName, me.realName, COUNT(*) as count_posts
FROM {$db_prefix}messages AS m
LEFT JOIN {$db_prefix}members AS me ON (me.ID_MEMBER = m.ID_MEMBER)
WHERE m.posterTime > $starttime
AND m.ID_MEMBER != 0
GROUP BY me.ID_MEMBER
ORDER BY count_posts DESC
LIMIT 10", __FILE__, __LINE__);

$context['top_posters_week'] = array();
$max_num_posts = 1;
        $context['all_user_week']=0;
while ($row_members = mysql_fetch_assoc($request))
{
$context['top_posters_week'][] = array(
'avatar' => $row_members['avatar'],
    'money' => (int) $row_members['money'],
'name' => $row_members['realName'],
'id' => $row_members['ID_MEMBER'],
'num_posts' => $row_members['count_posts'],
'href' => $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'],
'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'] . '">' . $row_members['realName'] . '</a>'
                       
);
               $context['all_user_week']++;

if ($max_num_posts < $row_members['count_posts'])
$max_num_posts = $row_members['count_posts'];
}
mysql_free_result($request);


Reemplazar desde

Código: [Seleccionar]
//Top starter

hasta

Código: [Seleccionar]
$members_result = db_query(

por

Código: [Seleccionar]
//Top starter
$members_result = db_query("
SELECT ID_MEMBER, realName, memberName, topics,money, avatar
FROM {$db_prefix}members
WHERE topics > 0
ORDER BY topics DESC
LIMIT 10", __FILE__, __LINE__);
$context['top_starters'] = array();
$max_num_topics = 1;
$context['all_user_estarted']=0;
while ($row_members = mysql_fetch_assoc($members_result))
{
$context['top_starters'][] = array(
'name' => $row_members['realName'],
'money' => (int) $row_members['money'],
'avatar' => $row_members['avatar'],
'id' => $row_members['ID_MEMBER'],
'num_posts' => $row_members['topics'],
'href' => $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'],
'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'] . '">' . $row_members['realName'] . '</a>'
);

$context['all_user_estarted']++;
if ($max_num_topics < $row_members['topics'])
$max_num_topics = $row_members['topics'];
}
mysql_free_result($members_result);

$context['shop_richest'] = array();
$result = db_query("
SELECT ID_MEMBER, realName, memberName, money, avatar, topics
FROM {$db_prefix}members
ORDER BY money DESC, realName
LIMIT 10", __FILE__, __LINE__);
$context['all_user_money'] = 0;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$context['shop_richest'][] = array(
'id' => $row['ID_MEMBER'],
'memberName' => $row['memberName'],
'name' => $row['realName'],
'avatar' => $row['avatar'],
'num_posts' => $row['topics'],
'money' => (int) $row['money'],
'href' => $scripturl . '?action=profile;u=' . $row['ID_MEMBER'],
);
$context['all_user_money']++;
}

$members_result = db_query(



------------------------------------------------------------------------


El bloque para el Recent.template.php, agregarlo entre los bloques del medio

Código: [Seleccionar]

/*******************************************************************/

echo'<div class="tabs">
   
    <div class="tab">
        <input type="radio" id="tab-1" name="tab-group-1" checked>
        <label for="tab-1">User de la Semana</label>
       
        <div class="content">';
$c = 0;
foreach ($context['top_posters_week'] as $poster){
$c++;
if($c==1){
            echo'<div class="topuser">
             <ul>
                 <li class="avatar"><img src="',$poster['avatar'],'"></li>
                 <li>
                  <span class="uinfo nick"><a class="user_nick" href="',$poster['href'],'">',$poster['name'],'</a></span>
                  <span class="uinfo puntos"><span class="topicon puntos">&nbsp;</span> ',$poster['money'],' Puntos</span>
                  <span class="uinfo posts"><span class="topicon posts">&nbsp;</span> ',$poster['num_posts'],' Posts</span>
                 </li>
                 <li class="star"><img src="',$settings['images_url'],'/topstar.png"></li>
             </ul>
            </div>';}
elseif($c>1){
              if($c==2)
              echo'<div class="tou">Otros Usuarios Tops: ';

echo'<a class="user_nick" href="',$poster['href'],'">',$poster['name'],'</a> (',$poster['num_posts'],')', $context['all_user_week']==$c ? '' : ', ';
             }
                                                  }
echo'</div>
    </div></div>
   
    <div class="tab">
        <input type="radio" id="tab-2" name="tab-group-1">
        <label for="tab-2">+ Puntos</label>
       
        <div class="content">';
    $c = 0;     
foreach ($context['shop_richest'] as $poster){
     $c++;
 if($c==1){
            echo'<div class="topuser">
             <ul>
                 <li class="avatar"><img src="',$poster['avatar'],'"></li>
                 <li>
                  <span class="uinfo nick"><a class="user_nick" href="',$poster['href'],'">',$poster['name'],'</a></span>
                  <span class="uinfo puntos"><span class="topicon puntos">&nbsp;</span> ',$poster['money'],' Puntos</span>
                  <span class="uinfo posts"><span class="topicon posts">&nbsp;</span> ',$poster['num_posts'],' Posts</span>
                 </li>
                 <li class="star"><img src="',$settings['images_url'],'/topstar.png"></li>
             </ul>
            </div>';}
 elseif($c>1){
              if($c==2)
              echo'<div class="tou">Otros Usuarios Tops: ';

echo'<a class="user_nick" href="',$poster['href'],'">',$poster['name'],'</a> (',$poster['money'],')', $context['all_user_money']==$c ? '' : ', ';
             }
                                                  }

        echo'</div></div>
    </div>
   
    <div class="tab">
        <input type="radio" id="tab-3" name="tab-group-1">
        <label for="tab-3">+ Posts</label>
       
        <div class="content">';
    $c = 0;     
foreach ($context['top_starters'] as $poster){
     $c++;
 if($c==1){
            echo'<div class="topuser">
             <ul>
                 <li class="avatar"><img src="',$poster['avatar'],'"></li>
                 <li>
                  <span class="uinfo nick"><a class="user_nick" href="',$poster['href'],'">',$poster['name'],'</a></span>
                  <span class="uinfo puntos"><span class="topicon puntos">&nbsp;</span> ',$poster['money'],' Puntos</span>
                  <span class="uinfo posts"><span class="topicon posts">&nbsp;</span> ',$poster['num_posts'],' Posts</span>
                 </li>
                 <li class="star"><img src="',$settings['images_url'],'/topstar.png"></li>
             </ul>
            </div>';}
 elseif($c>1){
              if($c==2)
              echo'<div class="tou">Otros Usuarios Tops: ';

echo'<a class="user_nick" href="',$poster['href'],'">',$poster['name'],'</a> (',$poster['num_posts'],')', $context['all_user_estarted']==$c ? '' : ', ';
             }
                                                  }

        echo'</div></div>
    </div>
   
</div>';


/*******************************************************************/



Agregar al CSS del theme ** Esto si o si lo tienen QUE HACER**

Código: [Seleccionar]
/* Bloque TABS */

.tabs {
        position:relative;
min-height: 210px;
clear: both;
        width:363px;
}
.tab {
        margin-top:11px;
float: left;
}
.tab label {
background: #eee;
padding: 10px;
border: 1px solid #ccc;
margin-left: -1px;
position: relative;
left: 1px;
        cursor:pointer;
}

.tab [type=radio]{
display: none;
}

.content {
position: absolute;
top: 35px;
    left: 0;
background: white;
right: 0;
bottom: 0;
padding: 5px;
border: 1px solid #ccc;
overflow: hidden;
        margin-bottom:10px;
}

.content > *{
opacity: 0;

-webkit-transform: translate3d(0, 0, 0);

-webkit-transform: translateX(-100%);
-moz-transform:    translateX(-100%);
-ms-transform:     translateX(-100%);
-o-transform:      translateX(-100%);

-webkit-transition: all 0.6s ease;
-moz-transition:    all 0.6s ease;
-ms-transition:     all 0.6s ease;
-o-transition:      all 0.6s ease;
}
[type=radio]:checked ~ label {
background: white;
border-bottom: 1px solid white;
z-index: 2;
}
[type=radio]:checked ~ label ~ .content {
z-index: 1;
}
[type=radio]:checked ~ label ~ .content > * {
opacity: 1;

-webkit-transform: translateX(0);
-moz-transform:    translateX(0);
-ms-transform:     translateX(0);
-o-transform:      translateX(0);
}

/* estilo del contenido by 002 */

.usertop{
          width:340px;
          margin:5px;
           
}

.usertop ul{
          width:340px;
          display:block;
          list-style:none;
           }

.topuser ul li{
          display:block;
          float:left;
          padding:5px;
           }

li.avatar img{
                 border: 1px solid #cccccc;
                 padding:3px;
                 width:65px;
                 height:65px;
}

li.star{padding:10px;padding-top:20px;margin-left:5px;}
li.star img{width:40px;height:40px;margin-top:20px;}
a.user_nick{
           font-size:13px;
           color:#0e69a3;
           font-weight:bold;

}


a:hover.user_nick{
           text-decoration:none;
           color:#2d82b7;

}

.topicon{
         padding-left:18px;
         padding-top:5px;
       
}

.uinfo{padding:3px;display:block}
.uinfo.nick{border-bottom:1px dashed #cccccc;padding-bottom:1px;margin-bottom:5px;}
.uinfo.puntos{color:#e7d614;font-weight:bold;}
.uinfo.posts{color:#b8e714;font-weight:bold;}

.topicon.puntos{background: url('images/puntos.png') no-repeat}
.topicon.posts{background: url('images/visitas.gif') no-repeat}

.tou{
     border-top:1px dashed #cccccc;
     color:#757575;
     font-color:11px;
     width:360px!important;
     padding:3px;
     float:left;
}

/* Fin Bloque TABS */


-------------------------------------------------------

La imagen va en la carpeta images del theme que se esta usando, por defecto /Themes/default/images

Aclaracion, borrar los bloques de los Top Users con mas puntos, mas posts y users de la semana, ya que luego de los cambios no funcionaran correctamente.
Los cambios en el Recent.php son para el correcto funcionamiento del nuevo bloque.




Le doy las mil gracias por adptarlo 002. todos los CREDITOS van a el Muchas Gracias! y Espero que les guste...
« última modificación: Noviembre 04, 2011, 11:13:03 pm por Sir_German »
Para mas Info escanea   :-D
<b><center>???_g?????<b></center>

Desconectado Jesús

  • México!
  • Moderador Global
  • *
  • Mensajes: 4698
  • Power: 941
  • Sexo: Masculino
  • La imaginación es más importante que el saber.
    • Ver Perfil
    • Spirate
Re:Tabs animados solo con CSS
« Respuesta #1 en: Noviembre 04, 2011, 11:01:53 pm »
¿Y si tengo mi recent modificado? y no quiero remplazar archivos?
Los niños de ahora no saben leer. u.u

Desconectado The_Pimp

  • Argentino
  • Moderador Global
  • *
  • Mensajes: 12079
  • Power: 20
  • Sexo: Masculino
  • Argentino
    • AOL Instant Messenger - Argentino
    • Yahoo Instant Messenger - Argentino
    • Ver Perfil
    • Argentino
    • Email
Re:Tabs animados solo con CSS
« Respuesta #2 en: Noviembre 04, 2011, 11:02:15 pm »
Excelente aporte, ahora sí, te felicito +1
VIVO AL LIMITE

Conectado 002

  • Project Manager
  • *
  • Mensajes: 3393
  • Power: 1001
  • Sexo: Masculino
  • Nada es verdad, Todo está permitido
    • Ver Perfil
    • TecnoBite
Re:Tabs animados solo con CSS
« Respuesta #3 en: Noviembre 04, 2011, 11:03:28 pm »
Tiene un muy buen efecto y sin jquery, esta muy bueno el bloque gracias por los creditos ;) +1 para vos

Desconectado dario master

  • Full Member
  • ***
  • Mensajes: 132
  • Power: 11
  • Sexo: Masculino
    • Ver Perfil
    • Email
Re:Tabs animados solo con CSS
« Respuesta #4 en: Noviembre 04, 2011, 11:04:40 pm »
muy bueno me gusto +1

Desconectado _El_Loco_22_

  • Full Member
  • ***
  • Mensajes: 108
  • Power: 1
  • Sexo: Masculino
    • Ver Perfil
    • LuJoKa - Date el Lujo de Compartir
Re:Tabs animados solo con CSS
« Respuesta #5 en: Noviembre 04, 2011, 11:09:29 pm »
Muy bueno, lo voy a usar, ya que agregaste la forma manual.

Gracias

Desconectado Sir_German

  • Hero Member
  • *****
  • Mensajes: 515
  • Power: 139
  • Sexo: Masculino
  • Germancho!!! ?
    • Ver Perfil
    • http://www.descargatelofree.net
    • Email
Re:Tabs animados solo con CSS
« Respuesta #6 en: Noviembre 04, 2011, 11:15:24 pm »
Tiene un muy buen efecto y sin jquery, esta muy bueno el bloque gracias por los creditos ;) +1 para vos
mas 1 para vos tambien
Para mas Info escanea   :-D
<b><center>???_g?????<b></center>

Desconectado anferro

  • SPmaniaco
  • *******
  • Mensajes: 2691
  • Power: 70
  • Sexo: Masculino
    • Ver Perfil
    • Email
Re:Tabs animados solo con CSS
« Respuesta #7 en: Noviembre 05, 2011, 12:10:46 am »
Esta Muy lindo +1 :)
Made in colombia papa!
Gana Dinero Rapido Facil y Efectivo!
@anferro007
Gana $ Con tus Tweet's

Se supone que aquí debo poner algo interesante xdgdfgdgljgdlfgjdff

Desconectado shake

  • Hay tanto por hacer y queda tan poco tiempo.
  • Staff Director
  • *
  • Mensajes: 6291
  • Power: 294
  • Sexo: Masculino
  • ¿Yo buena onda? ¡Gracias locas!
    • Ver Perfil
    • G+
Re:Tabs animados solo con CSS
« Respuesta #8 en: Noviembre 05, 2011, 12:16:41 am »
Cómo te dije Germán, no me gustó, me encantó, la verdad que se nota mejoría en tus cosas, tratá de hacer lo que te dije, dejár el colorinche de lado y hacer cosas simples, colores simples y agradables, vas a ver como mejorarás en el diseño.

+1.

Desconectado _El_Loco_22_

  • Full Member
  • ***
  • Mensajes: 108
  • Power: 1
  • Sexo: Masculino
    • Ver Perfil
    • LuJoKa - Date el Lujo de Compartir
Re:Tabs animados solo con CSS
« Respuesta #9 en: Noviembre 06, 2011, 04:39:28 am »
Aplique el MOD pero se queda todo en blanco que puede ser??

Aca una captura de como se me ve:



Disculpen creo que va en Soporte.

Desconectado Traiciel

  • Inquilino de SP
  • ********
  • Mensajes: 3379
  • Power: -65531
  • Sexo: Femenino
  • Sin prisa, pero traicionando
    • Ver Perfil
    • software windows
Re:Tabs animados solo con CSS
« Respuesta #10 en: Noviembre 06, 2011, 07:49:55 pm »
Muy bueno, esta fácil de instalar como mod aunque no me guste tanto el diseño de las pestañas, así que +1!

Desconectado brayan2259

  • SPadicto
  • ******
  • Mensajes: 1167
  • Power: 221
  • Sexo: Masculino
  • To be or not to be...
    • Ver Perfil
Re:Tabs animados solo con CSS
« Respuesta #11 en: Noviembre 07, 2011, 04:39:48 am »
Aqui una pequeña muestrita : http://jsfiddle.net/J98xm/

Bonito bloque con CSS3 usando transition ;) (lo malo es que algunos navegadores no es compatible , como lo es el js ) :s  -.-   8-)
« última modificación: Noviembre 20, 2011, 01:37:33 am por brayan2259 »


Luis LMFAO

Desconectado Juans!

  • Argentina - Buenos Aires
  • Moderador Global
  • *
  • Mensajes: 8201
  • Power: 680
  • Sexo: Masculino
  • 26/06/2009
    • MSN Messenger - Juans_talentodebarrio_17@hotmail.com
    • AOL Instant Messenger - No+tengo
    • Yahoo Instant Messenger - No tengo
    • Ver Perfil
    • Email
Re:Tabs animados solo con CSS
« Respuesta #12 en: Noviembre 08, 2011, 10:34:17 am »
+1 Muy lindo! :)
Sigueme en
Twitter: Juans Luque

Desconectado fernic10

  • Full Member
  • ***
  • Mensajes: 121
  • Power: 7
  • Sexo: Masculino
    • Ver Perfil
    • tus post comunidad
Re:Tabs animados solo con CSS
« Respuesta #13 en: Enero 17, 2012, 10:24:31 pm »
viejo y para personalizar las tabs osea que nosotros pongamos bloques dentro como top user mas comentados etc como quedaria el code