Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: basickdagger en 11 Noviembre 2014, 18:32 pm



Título: problema con fixed y menu ul
Publicado por: basickdagger en 11 Noviembre 2014, 18:32 pm
hola estoy aprendiendo a usar las medias querys y tengo el siguiente problema, tengo un contenedor llamado divmenu y un ul llamado menu...

al contenedor le coloco la propiedad fixed para que el usuario al hacer scroll siempre el menu este visible...

el problema es que el menu es demasiado largo y en algunos dispositivos no se puede ver el menu en toda la pantalla, pero al tener la propiedad fixed en el div no me permite ver más allá de la pantalla......

les dejo un ejemplo que edite un poco para ver si alguien puede guiarme...

si redimensionan el navegador sabran a lo que me refiero....
saludos

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2.  
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="es">
  5.  
  6.    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400' rel='stylesheet' type='text/css'>
  7. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  8.  
  9.  
  10.  
  11. html a img{border:none;}
  12.  
  13. img {
  14.    border: none;
  15. }
  16. html{
  17. padding:0;
  18. margin:0;
  19. }
  20. body{
  21.  
  22.    padding:0;
  23.    margin:0px;
  24.  
  25.    background:#e8f9f9;
  26.    font-family: 'Open Sans', sans-serif;
  27. }
  28.  
  29.  
  30.  
  31. #divmenu{
  32. width:100%;
  33. height:65px;
  34. border-top:#6fceed solid 4px;
  35. position:fixed;
  36. z-index:9999;
  37. margin:0px auto;
  38. background: #FFF;
  39. }
  40.  
  41. #blanco{
  42. width:100%;
  43. height:65px;
  44. }
  45.  
  46. #todo{
  47.   width: 636px;
  48. height: 63px;
  49. float: left;
  50. border: red solid 0px;
  51. }
  52.  
  53. #c_menu{
  54.   width: 636px;
  55. height: 63px;
  56. float: left;
  57. }
  58.  
  59. #logo{
  60.    width:232px;
  61.    height:63px;
  62.    float:left;
  63.    margin-left:10px;
  64. }
  65.  
  66. #logo img{
  67.    width:228px;
  68.    height:63px;
  69.    }
  70.  
  71. #menu{
  72. list-style: none;
  73. height: 53px;
  74. margin: 0;
  75. float: left;
  76. text-align: left;
  77. padding: 0;
  78.  
  79. }
  80. #menu li{
  81.    float:left;
  82.    display:block;
  83.  
  84.    border-bottom:#fff solid 0px;
  85.  
  86.  
  87. }
  88. #menu li a{
  89.  display: block;
  90. padding: 20px 0px;
  91. margin: 0;
  92. border: purple solid 0px;
  93. text-decoration: none;
  94. text-align: center;
  95. color: #0078ca ;
  96. font-family: 'Open Sans', sans-serif;
  97. width: 110px;
  98. font-size:16px;    
  99. }
  100. #menu li:hover {
  101.    background:#6fceed;  
  102.    color:#FFF !important;  
  103. }
  104. #menu li a:hover {
  105.    border-bottom:#ECECEC solid 1px;
  106.    background:#6fceed;
  107.    color:#FFF;
  108. }
  109. #menu li a:hover, #menu .submenu li:hover a{
  110.   border-bottom:#ECECEC solid 1px;
  111.    background:#6fceed;
  112.    color:#FFF;
  113. }
  114.  
  115.  
  116. #menu li a:active {    
  117.     background:#6fceed;
  118.    color:#FFF;
  119. }
  120.  
  121. #menu .submenu{
  122.    width:110px;    
  123.    display:none;
  124.    z-index:99999;
  125.    position:absolute;
  126.    margin:0px;
  127.    padding:0px;
  128.    background:#fff;
  129. }
  130.  
  131.  
  132. #menu .submenu  li{
  133.    text-align:center;
  134.    display:block;
  135.    width:110px;
  136.    margin:0px auto;
  137.    border-bottom:#ECECEC solid 1px;  
  138. }
  139. #menu .submenu  li  a{
  140.    display:block;
  141.    padding: 20px 0px;
  142.    border:purple solid 0px;
  143.    text-decoration: none;    
  144.    text-align:center;
  145.    color:#6fceed;
  146.    font-family: 'Open Sans', sans-serif;
  147.    width:110px;
  148.    font-size:10pt;
  149.  
  150. }
  151.  
  152. #menu .submenu  li a:hover {
  153.  
  154.    color:white;
  155.    background: #0078ca;
  156. }
  157.  
  158.  
  159.  
  160. #menu li:hover > .submenu {    
  161.    display:block;
  162. }
  163.  
  164. #contenido_principal{
  165. width:900px;
  166. margin:0 auto;
  167. background:#000;
  168. }
  169. #contenido_principal img{
  170.    width:900px;
  171. }
  172.  
  173.  
  174. /***********************************RESPONSIVE*****************************************=**********************/
  175.  
  176. #menu_responsive {
  177. margin: 0px 0px 0px;
  178. display: none;
  179. padding: 8px 5px 2px;
  180. text-align: center;
  181. width: 106px;
  182. font-family: 'Open Sans', sans-serif;
  183. font-size: 0.8em;
  184.    }  
  185.  
  186.  
  187. @media (max-width: 1034px) {
  188.           #c_menu{ left:none !important;}
  189.           #contenido_principal{width:100%;}
  190.           #contenido_principal img{width:100%;}
  191.    }
  192.  
  193.  
  194.  
  195. @media (max-width: 860px) {    
  196.            #divmenu{ width:100%; height:146px;}
  197.            #logo{ float: none;position:relative; margin:0 auto; }
  198.            #todo{ float: none; position:relative; margin:0 auto; }
  199.            #c_menu{ float: none;position:relative; margin:0 auto; left:none !important;}  
  200.    }
  201.  
  202.  
  203.  
  204.  
  205. @media (max-width: 457px) {
  206.  
  207.    #menu_responsive{display:block; }
  208.    #divmenu{  width:100%;  height:67px;}
  209.    #logo {width:250px;float:right;border:red solid 0px;}
  210.    #logo img{width:250px;float:right;}
  211.    #todo{width:100%}
  212.    #c_menu{
  213.    background:#8ad1ef;
  214.    color: /*#0078ca*/ #FFF ;
  215.    width:100%;
  216.    min-height:200px;
  217.    overflow:auto;
  218.    position:absolute;
  219.    left:-100%;    
  220.    z-index:9999;  
  221.    }
  222.    #menu li a{
  223.        width: 100%;
  224.        background: #0078ca;
  225.    color: /*#0078ca*/ #FFF ;
  226.        }
  227.        #menu li {
  228.        width: 100%;
  229.        background: #0078ca;
  230.    color: /*#0078ca*/ #FFF ;
  231.        }
  232. #menu .submenu{
  233.    width: 100%;
  234.    display:block;
  235.    position:relative;
  236.    background:#8ad1ef;
  237.    color:  #FFF ;
  238. }
  239. #menu .submenu li{
  240.    width: 100%;
  241.    background:#8ad1ef;
  242.    color:  #FFF ;
  243. }
  244. #menu .submenu  li  a{
  245.    width:100%;
  246.    background:#8ad1ef;
  247.    color:  #FFF ;
  248. }
  249.  
  250. #menu{
  251. width:100%;
  252. height:auto;
  253.  
  254.  
  255. }
  256.  
  257.  
  258.  
  259.  
  260.    }
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270. </head>
  271.  
  272.  
  273.    <div id="divmenu">
  274.        <div id="logo">
  275.            <img src="http://www.vectortemplates.com/raster/batman-logo-big.gif">
  276.         </div>
  277.  
  278.  
  279.    <script>
  280. $(document).ready(function(){
  281. var contador = 0;
  282. $('#desplazar').click(function efecto(){
  283. if (contador/2==0){
  284. $('#c_menu').animate({'left':0+'%'});
  285.        $("#c_menu").css({ height:"auto" });
  286.  
  287.  
  288. contador+=1;
  289. }
  290. else{
  291. $('#c_menu').animate({'left':-100+'%'});
  292.        $("#c_menu").css({ height:"300px" });
  293.  
  294. contador+=-1;
  295. }
  296. });
  297.  
  298. });
  299.  
  300.  
  301.   <div id="todo">
  302.  <div id="menu_responsive" onclick=""><a href="#" id="desplazar"><img src="http://www.vectortemplates.com/raster/batman-logo-big.gif" width="20">Menu</a></div>
  303.  
  304.         <div id="c_menu" >
  305.  
  306.            <ul id="menu">
  307.                <li><a href="#" target="_blank">Menu P 1</a>
  308.                <ul class="submenu">
  309.                         <li><a href="#">submenu 1</a></li>
  310.  
  311.                    </ul>
  312.                </li>
  313.                <li><a href="#">Menu P 2</a>
  314.                    <ul class="submenu">
  315.                         <li><a href="#">submenu 2</a></li>
  316.                          <li><a href="#">submenu 2.1</a></li>
  317.  
  318.                    </ul>
  319.                </li>
  320.                <li><a href="#">Menu P 3</a>
  321.                    <ul class="submenu">
  322.                         <li><a href="#">submenu 3</a></li>
  323.                          <li><a  href="#">submenu 3.1</a></li>
  324.                          <li><a href="#">submenu 3.2</a></li>
  325.                           <li><a href="#">submenu 3.3</a></li>
  326.                        <li><a href="#">submenu 3.4</a></li>
  327.                        <li><a href="#">submenu 3.5</a></li>
  328.                        <li><a href="#">submenu 3.6</a></li>
  329.                    </ul>
  330.                </li>
  331.                <li><a href="#">Menu P 4</a>
  332.                 <ul class="submenu">
  333.                 <li ><a href="#">submenu 4</a></li>
  334.                 <li><a href="#">submenu 4.1</a></li>
  335.                 <li ><a href="#">submenu 4.1</a></li>
  336.                 <li ><a href="#">submenu 4.1</a></li>
  337.                 <li ><a href="#">submenu 4.1</a></li>
  338.                 <li><a href="#">submenu 4.1</a></li>
  339.                 <li ><a href="#">submenu 4.1</a></li>
  340.                 <li ><a href="#">submenu 4.1</a></li>
  341.                 </ul>
  342.                </li>
  343.  
  344.                <li><a href="#">Menu P 5</a>
  345.  
  346.  
  347.                </li>
  348.  
  349.            </ul>
  350.  
  351.         </div>
  352.     </div>  
  353.  
  354.    </div>
  355.  
  356.    <div id="blanco"></div>
  357. <div id="contenido_principal">
  358.    <img src="http://www.vectortemplates.com/raster/batman-logo-big.gif">
  359.  
  360. </div>
  361.  
  362. </body>
  363. </html>
  364.  
  365.  


Título: Re: problema con fixed y menu ul
Publicado por: basickdagger en 13 Noviembre 2014, 17:14 pm
hola, bueno lo solucione haciendo lo siguiente


Código
  1. $(document).ready(function(){
  2. var contador = 0;
  3. $('#desplazar').click(function efecto(){
  4. if (contador/2==0){
  5. $('#c_menu').animate({'left':0+'%'});
  6.        $("#c_menu").css({ height:"auto" });
  7.        $("#divmenu").css({ position:"absolute" });
  8.  
  9.  
  10. contador+=1;
  11. }
  12. else{
  13. $('#c_menu').animate({'left':-100+'%'});
  14.        $("#c_menu").css({ height:"300px" });
  15.          $("#divmenu").css({ position:"fixed" });
  16.  
  17. contador+=-1;
  18. }
  19. });
  20.  
  21. });
  22.