2012-02-12 3 views
3

Я могу заменить #site-title текст with a fixed-size image, никаких проблем.Как заменить # site-title на RESIZABLE image?

Но теперь я бы хотел, чтобы оно изменялось автоматически, исходя из размера браузера, точно так же, как заголовок WordPresse в Twenty Eleven.

FireBug говорит мне, что CSS отвечает за это:

#branding img { 
    height: auto; 
    margin-bottom: -7px; 
    width: 100%; 
} 

Но когда я пытаюсь скопировать это на сайт-заглавием:

#site-title { 
    text-indent: -9999px; 
    width: 100%; /* 980px; width of the image file. */ 
    height: auto; /* 128px; height of the image file. */ 

    margin: 0px 0 0 0; 
    padding: 0em 0 0; 
    background: url(images/header.png) white no-repeat; 
    font-size: 1px; 
    line-height: 1px; 
    text-decoration: none; 
} 

Это на самом деле не работает: На сайте -title изображение остается прежним.

Есть ли что-то еще, что мне нужно для создания функциональности «изменчивой магии», которую имеет новый WordPress?

+1

Это вопрос CSS, а не вопрос Wordpress. –

+0

@ m0r7if3r Вы уверены? Как вы можете видеть из моего сообщения, я попробовал [метод CSS] (http://allaboutbasic.com/2011/06/15/wordpress-com-theme-twenty-eleven-css-style-sheet-modification-change -site-titledescriptionpost-titlecommentsmenussidebar-and-more /), но кажется, что необходим дополнительный трюк, который очень специфичен для WordPress. Возможно, что-то в 'functions.php'? – ef2011

+0

Это всего лишь [медиа-запросы CSS3] (http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-queries), ничего не говорится в Wordpress. Если вы посмотрите на конец style.css для двадцати, вы это увидите. –

ответ

2

Чтобы изменить размер изображения, родительский элемент должен быть изменен. Если вы берете тему двадцать одиннадцать, элемент #page не имеет width, хотя он имеет максимальную ширину. Тогда width:100% для изображения изменит его размер в соответствии с шириной браузера.

+0

Спасибо (+1), но как я могу применить это к изображению названия сайта? Его образ находится в атрибуте 'background: url', а не в атрибуте' img', таком как header. – ef2011

+1

Используйте 'background-size: cover' в CSS. Это сделает масштаб фонового изображения размером элемента. Но для более старого (<9) IE вы должны использовать проприетарные фильтры. См. Http://css-tricks.com/perfect-full-page-background-image/ – viky

+0

Еще раз спасибо +1. Это отличный совет, но когда я попробовал это, я не получил ожидаемого результата: если я использую его в сочетании с «background-attachment: scroll», он вообще не масштабируется, и когда я использую его с «background- attachment: fixed' it [scale] (http://whereswalden.com/files/mozilla/background-size/page-cover.html), но он масштабируется до размера всего размера страницы браузера, а не только '# site-title'. – ef2011