Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выравнивание картинок любых размеров.
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Выравнивание картинок любых размеров.

Страниц (1): [1]
 

1. Psychotech - 13 Августа, 2015 - 22:22:53 - перейти к сообщению
Всем доброго времени суток.
Пару дней назад занялся сайтом. Встал вопрос создания чего-то вроде слайд шоу. Написал быстро свой велосипед, но к сожалению "цепь спадает". В общем что я сделал. использовал "дивную" верстку, где главный блок выступает вроде контейнера всего слайд шоу. Затем в него помещаются два контейнера. главный экран - где отображается большая версия картинки, под ним лента с мини-версиями картинок. Все это управляется javascript`ом с jquery. Щелкаешь на маленькой картинке и она плавно сменяет уже показываемую. Если не щелкать то картинки сами меняются на таймере. Все работает хорошо и красиво с тестовыми картинками имеющими определенную высоту и ширину, а когда поставил разно размерные картинки то "цепь спала".
Я сделал так что картинка в главном экране всегда растянута по высоте. Естественно когда ширина больше высоты картинка съезжает за блок вправо. Переопределить высоту на ширину не проблема. Но меня интересует возможность сделать так чтобы картинка всегда оставалась в рамке большого экрана не зависимо что у неё больше. Возможно ли это сделать используя только CSS? ориентацию высоты картинки я сделал там. Если нет было бы неплохо лицезреть ваши предложения и варианты.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. .slider{
  3.         background-color: Silver;
  4.         border: 0px dotted Black;
  5.         padding: 5px;
  6.         width: 700px;
  7. }
  8. .big_slide{
  9.         background-color: Silver;
  10.         border: 0px dashed Black;
  11.         box-shadow: 1px 1px 2px black;
  12.         padding: 5px;
  13.         margin: 5px;
  14.         margin-left: 150px;
  15.         width: 500px;
  16.         height: 300px;
  17.         text-align: center;
  18. }
  19. .big_slide img{
  20.         border-radius: 10px;
  21.         height: 100%;
  22.         text-align: center;
  23. }
  24. .slide_line{
  25.         background-color: Silver;
  26.         border: 0px solid Black;
  27.         padding: 5px;
  28.         margin: 5px;
  29.         width: 700px;
  30.         height: 120px;
  31.         margin-left: 50px;
  32. }
  33. .inliner{
  34.         display: inline-block;
  35. }
  36. .inliner[type=none]{
  37.         background-color: Gray;
  38.         border: 2px solid Black;
  39.         border-radius: 10px;
  40.         float: left;
  41.         width: 100px;
  42.         height: 100px;
  43.         margin: 10px;
  44.         box-shadow: none;
  45. }
  46. .inliner[type=none] img{
  47.         border-radius: 10px;
  48.         height: 100px;
  49. }
  50. .inliner[type=selected]{
  51.         background-color: Gray;
  52.         border: 2px solid Yellow;
  53.         border-radius: 10px;
  54.         float: left;
  55.         width: 100px;
  56.         height: 100px;
  57.         margin: 10px;
  58.         box-shadow: 3px 3px 3px black;
  59. }
  60. .inliner[type=selected] img{
  61.         border-radius: 10px;
  62.         height: 100px;
  63. }
  64. #hideinfo{
  65.         display: none;
  66. }
  67.  

CODE (html):
скопировать код в буфер обмена
  1. <html>
  2.  
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta charset="utf-8">
  6.  
  7.         <title>Мой сайт</title>
  8.  
  9.         <script type="text/javascript" src="lastrelise.js"></script>
  10.         <script type="text/javascript" src="jsf/slider.js"></script>
  11.         <LINK rel="stylesheet" type="text/css" href="css/stylepage.css">
  12.         <LINK rel="stylesheet" type="text/css" href="css/slider.css">
  13.         <?
  14.         $data["data"] = "images list";
  15.         $data["item"][0] = "/img/test.png";
  16.         $data["item"][1] = "/img/test2.png";
  17.         $data["item"][2] = "/img/test3.png";
  18.         $data["item"][3] = "/img/test4.png";
  19.         $data["item"][4] = "/img/test5.png";
  20.         $data["after"] = "end of list";
  21.         $data = json_encode($data);
  22.         $data = stripslashes($data);
  23.         ?>
  24.  
  25. </head>
  26.  
  27. <body>
  28.  
  29. <div class="Slider">
  30.         <div class="big_slide">
  31.         <center>
  32.                 <img src="/img/test3.png" border="0">
  33.         </center>
  34.         </div>
  35.         <div class="slide_line">
  36.                 <div class="inliner" type="none">
  37.                         <img class="imageslide" src="/img/test.png" border="0">
  38.                 </div>
  39.                 <div class="inliner" type="none">
  40.                         <img class="imageslide" src="/img/test2.png" border="0">
  41.                 </div>
  42.                 <div class="inliner" type="selected">
  43.                         <img class="imageslide" src="/img/test3.png" border="0">
  44.                 </div>
  45.                 <div class="inliner" type="none">
  46.                         <img class="imageslide" src="/img/test4.png" border="0">
  47.                 </div>
  48.                 <div class="inliner" type="none">
  49.                         <img class="imageslide" src="/img/test5.png" border="0">
  50.                 </div>
  51.         </div>
  52. </div>
  53. <?php
  54. $out = '<div id=hideinfo>'.$data.'</div>';
  55. print "$out";
  56.  
  57.  
  58. ?>
  59. <script type="text/javascript">
  60. generalCall();
  61. showtime();
  62. </script>
  63. </body>
  64.  
  65. </html>


CODE (javascript):
скопировать код в буфер обмена
  1. function initio(selector_big, selector_line, selector_select_line, data){
  2.         var dataaccess = data;
  3.         $(selector_big).html('<center><img src="'+dataaccess["item"][0]+'"border="0"></center>');
  4.         var cols = dataaccess["item"].length;
  5.         $(selector_line).html('');
  6.         for(var i = 0; i < dataaccess["item"].length; i++){
  7.                 var htmtemp = $(selector_line).html();
  8.                 if(i==0){
  9.                         $(selector_line).html(htmtemp + '<div class="'+selector_select_line+'" id="indent'+ i +'" type="selected" onclick="click2Change('+i+');"><img  src="'+dataaccess["item"][i]+'"border="0"></div>');
  10.                 }else{
  11.                         $(selector_line).html(htmtemp + '<div class="'+selector_select_line+'" id="indent'+ i +'" type="none" onclick="click2Change('+i+');"><img  src="'+dataaccess["item"][i]+'"border="0"></div>');
  12.                 }
  13.         }
  14. }
  15. function addChildren(jsonobject){
  16.         var decoded = JSON.parse(jsonobject);
  17.         return decoded;
  18. };
  19. function generalCall(){
  20.         var jsonobj = $("#hideinfo").text();
  21.         initio(".big_slide", ".slide_line", "inliner", JSON.parse(jsonobj));
  22. }
  23. function click2Change(value){
  24.         var jsonobj = $("#hideinfo").text();
  25.         var dataaccess = JSON.parse(jsonobj);
  26.         $(".big_slide").fadeOut('slow', function (){
  27.                 $(".big_slide").html('<center><img src="'+dataaccess["item"][value]+'"border="0"></center>');
  28.                 $(".big_slide").fadeIn();
  29.         });
  30.        
  31.         var htmtemp = $(".slide_line").html();
  32.         $(".slide_line").html('');
  33.         for(var j = 0; j<dataaccess["item"].length; j++){
  34.                
  35.                 var htmtemp = $(".slide_line").html();
  36.                 if(j==value){
  37.                 $(".slide_line").html(htmtemp + '<div class="inliner" id="indent'+ j +'" type="selected" onclick="click2Change('+j+');"><img  src="'+dataaccess["item"][j]+'"border="0"></div>');
  38.                 }else{
  39.                         $(".slide_line").html(htmtemp + '<div class="inliner" id="indent'+ j +'" type="none" onclick="click2Change('+j+');"><img src="'+dataaccess["item"][j]+'"border="0"></div>');
  40.                 }
  41.         }
  42. }
  43. function showtime(){
  44.         var jsonobj = $("#hideinfo").text();
  45.         var dataaccess = JSON.parse(jsonobj);
  46.         var show_page = 0;
  47.         setTimeout(function run() {
  48.         show_page++;
  49.         if(show_page>=dataaccess["item"].length){
  50.                 show_page = 0;
  51.         }
  52.         click2Change(show_page);
  53.   setTimeout(run, 10000);
  54. }, 10000);
  55. }

за чистоту когда не переживают. Радость

 

Powered by ExBB FM 1.0 RC1