Я пытаюсь добавить две квадратные объявления справа от изображения на веб-сайте. Идея заключается в том, чтобы сделать это реагировать так:Конкретный порядок встроенных элементов на мобильных и настольных устройствах
http://s9.postimg.org/pdecyqi8f/div.png
Возможно ли это, чтобы достичь с помощью CSS?
Я использую inline-block
, чтобы разместить рекламу вправо и max-width: 100%
, чтобы увеличить изображение. Мне нужна поддержка IE 9+ и мобильных браузеров.
Я пробовал разные подходы, даже не знаю, какой пример кода показывать. Это сравнительно легко разместить рекламу справа от изображения с помощью inline-block
:
div{
border: 2px solid;
}
#img,#container{
display: inline-block;
vertical-align: middle;
}
#ad1, #ad2{
width: 30px;
height: 30px;
color: red;
}
#img{
width: 100px;
height: 150px;
max-width: 100%;
color: purple;
}
<div id="img"> </div>
<div id="container">
<div id="ad1">ad1</div>
<div id="ad2">ad2</div>
</div>
Но в данном случае я не получите желаемый вид на узких экранах. Кроме того, поскольку max-width: 100%;
используется для #img
, этот div будет охватывать #ad1
и #ad2
на узких экранах.
Для достижения желаемого мобильного зрения, которую я должен был изменить HTML к следующему:
div{
border: 2px solid;
display: inline-block;
}
#ad1, #ad2{
width: 30px;
height: 30px;
color: red;
vertical-align: top;
}
#img{
width: 100px;
height: 150px;
max-width: 100%;
color: purple;
}
<div id="ad1">ad1</div>
<div id="img"> </div>
<div id="ad2">ad2</div>
В этом случае я не знаю, как позиционировать #ad1
для право от #img
. Я попытался полностью позиционировать, это не сработало. Flex также, казалось, не был вариантом из-за соображений совместимости.
Я также попытался использовать direction:rtl;
так:
div{
border: 2px solid;
display: inline-block;
}
#container{
direction:rtl;
border: 0px;
}
#ad1, #ad2{
width: 30px;
height: 30px;
color: red;
vertical-align: top;
}
#img{
width: 100px;
height: 150px;
max-width: 100%;
color: purple;
}
<div id="container">
<div id="ad1">ad1</div>
<div id="img"> </div>
<div id="ad2">ad2</div>
</div>
и это:
div{
border: 2px solid;
text-align: left;
}
#container{
direction:rtl;
border: 0px;
}
#ad1, #ad2{
width: 30px;
height: 30px;
color: red;
vertical-align: top;
}
#img{
width: 100px;
height: 150px;
max-width: 100%;
color: purple;
display: inline-block;
}
#ad1{
display: inline-block;
}
<div id="container">
<div id="ad1">ad1</div>
<div id="img"> </div>
</div>
<div id="ad2">ad2</div>
не помогло, так как я не мог позиционировать #ad2
.
Итак, я не прошу написать какой-либо код. Я просто отчаянно нуждаюсь в советах.
Вам необходимо хотя бы попробовать решение и опубликовать все соответствующие коды. Мы не будем писать код для вас. –
Вы можете отредактировать css с помощью '@media'. Поэтому, когда ширина экрана достигает определенной ширины, css изменяется. Однако вам нужно убедиться, что режим совместимости отключен. – AndrewH