пытаюсь поставить <h1> title </ h1> над моим изображением

0

Я пытаюсь что-то сделать, но я не знаю, возможно ли это.

У меня есть html-структура для настольных и планшетных устройств и ее работоспособность, но теперь для мобильных устройств я хочу немного изменить структуру своих новостей.

В мобильной версии я хочу поместить мой <h1>Title of the news</h1> над изображением, но он появляется под изображением, потому что в моем html у меня есть заголовок сначала, но я не хочу менять свою html-структуру, его невозможно поместить мой заголовок выше моего изображения только с CSS?

Я пробовал некоторые тесты, но ничего не работает!

Я привел свой пример в эту скрипку:

http://jsfiddle.net/Zkpj7/

Для лучшего понимания у меня есть эти изображения, чтобы показать, что я хочу:

Изображение 174551

  • 0
    Используя position: absolute; Вы можете поместить элемент в любое место, но он будет немного хакерским и нестабильным.
Теги:
responsive-design

2 ответа

1
Лучший ответ

Попробуйте изменить CSS следующим образом:

#news
{
    height:140px; 
    margin-bottom:5px; 
    border-bottom:1px solid #f3f3f3;
    padding-bottom:43px;    
    position:relative;
    padding-top: 45px; /*CHANGE VALUE ACCORDING TO YOUR NEEDS*/
}

#news h2 {
    position: absolute; top: 0px; left: 0px; /*ABSOLUTE POSITIONING*/
    margin: 0px;
}

#news span 
{
    color:#7a7a7a;
    position: absolute; top: 25px; left: 0px; /*ABSOLUTE POSITIONING*/
}

Я не могу придумать хорошее решение, которое не использовало бы абсолютное позиционирование...

Я бы предложил изменить разметку: p

http://jsfiddle.net/Zkpj7/9/

  • 0
    Спасибо, ваш код работает, но с некоторыми проблемами! Потому что мой абзац и дата появляются за заголовком и изображением!
  • 0
    Должен соответствовать сейчас;)
Показать ещё 2 комментария
1

Все ответы CSS будут менее идеальными, поскольку CSS предназначен для изменения стиля, а не структуры. Я бы рекомендовал использовать jquery. Позвоните по этому идентификатору, чтобы заголовок и изображение изменили их порядок.

$("#title").insertBefore("#pic");

Если вы хотите, добавьте что-то подобное, чтобы стрелять, когда размер экрана становится слишком маленьким (установите любой порог, который вы хотите).

$( window ).resize(function() {
  if($(window).width() < 400){
     $("#title").insertBefore("#pic");
  }
});
  • 0
    Спасибо, кажется хорошим решением, но я проверяю это, если ($ (window) .width () <180) {alert ('hello')} и в смартфоне sony ericsson live walkman, сообщение появляется, но в Samsung Galaxy Express не появляется сообщение. И разрешение составляет 480 пикселей! Я уже попробовал с if ($ (window) .width () <960) {alert ('hello')}, но в Samsung все еще не появляется!
  • 0
    Может быть, лучший способ - создать в моем html новый div и показать, что новый div в мобильных версиях и в мобильных версиях скрывает div для настольных ПК и планшетов, нет?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню