2015-03-29 3 views
0

У меня есть несколько элементов div, которые содержат изображения, высота каждого изображения равна 100%, вычисляется ширина. Высота работает отлично, но родительский div имеет реальную ширину изображения, которая больше, чем вычисленная ширина. Это создает промежутки между изображениями. Как я могу заставить div иметь ширину изображения по мере его отображения (а не ширину самого файла)? Может ли это быть разрешено только с помощью html/CSS?Div имеет реальную ширину изображения вместо вычисленной ширины

HTML:

<table> 
    <tr> 
     <td align-"center" valign="middle" style="background:#000;"> 
     <div class="scrollable"> 
      <div class="items"> 
       <div> 
        <img style="height:100%;" src="001.png"> 
       </div> 
      </div> 
     </div> 
     </td> 
    </tr> 
</table> 

CSS:

table { 
    width: 100%; 
    height: 100%; 
    padding: 0; 
    margin: 0; 
    border-collapse: collapse; 
    border: 0; 
} 

td { 
    width: 100%; 
    height: 100%; 
    padding: 0; 
    border: 0; 
} 

.scrollable { 
    position: relative; 
    overflow: hidden; 
    width: 100%; 
    height: 100%; 
    max-height: 1000px; 
} 

.scrollable .items { 
    width: 25000px; 
    height: 100%; 
    position: absolute; 
} 

.items {float: center;} 

.items div { 
    float: left; 
    width: auto; 
    padding: 0; 
    margin: 0; 
} 

Любые идеи? Tnanks!

ответ

0

Да, это можно решить только с помощью CSS и HTML. Вы можете установить ширину изображения с помощью CSS. Сначала дайте элементу изображения идентификатор, например <img id="img1" style="height:100%;" src="001.png">, затем укажите изображение с необходимой шириной с помощью CSS: #img1{ width:150px; }.

или

Вы можете установить ширину вашего родительского DIV на boundrary ширину, что ширина изображения не может превышать, а затем установить ширину изображения, чтобы width:100% в CSS.

Редактировать: С учетом вашего нового JSbin: чтобы удалить черное пространство между изображениями, просто удалите style="height:100%" с каждого изображения. Что происходит, браузер слегка сокращает изображения, чтобы сохранить их на 100% от высоты окна, что создает черное пространство. Надеюсь, это поможет. Вот jsBin: http://jsbin.com/kupaqukizu/1/edit?html,css,js,output

+0

Но мне нужна динамическая ширина для изображений, потому что моя идея состоит в том, чтобы иметь 100% изображения высоты страницы (где оба размера являются динамическими), поэтому это будет ряд изображений без пробелов между ними, которые занимают 100% высоты страницы. Все работает, но изображение, содержащее divs, принимает ширину реального файла изображения вместо вычисленной ширины. –

+0

@ KostseiKuolematon Можете ли вы изменить свой вопрос, чтобы показать нам скриншот или более кода, который вы используете? Я не уверен, что полностью понимаю ваш вопрос. Вот ссылка на JSBIN, используя ваш код. Изображение искажается, потому что высота установлена ​​на 100%: http://jsbin.com/xopujarelo/1/edit?html,css,output –

+0

@ KostseiKuolematon Я только что обновил свой ответ на примере с jsBin. Сообщите мне, соответствует ли этот ответ вашим потребностям. –