2011-02-01 2 views
13

Я не знаю, что происходит, но кажется, что фоновое изображение не загружается.CSS-изображение не работает

test.html:

<div class="pToolContainer"> 
    <span class="btn-pTool"> 
     <a class="btn-pToolName" href="#"></a> 
    </span> 
    <div class="pToolSlidePanel"></div> 
</div> 

style.css:

.btn-pTool{ 
    margin:0; 
    padding:0; 
    background-image: url(slide_button.png); 
    background-repeat:no-repeat; 
    } 

    .btn-pToolName{ 
     text-align: center; 
     width: 26px; 
     height: 190px; 
     display: block; 
     color: #fff; 
     text-decoration: none; 
     font-family: Arial, Helvetica, sans-serif; 
     font-weight: bold; 
     font-size: 1em; 
     line-height: 32px; 
    } 

Кстати изображение не существует в папке test.html.

+1

are style.css и slide_button.png находятся в в той же папке? – shankhan

+0

да, они в той же папке – Twidizle

+0

вы можете увидеть изображение, написав http: //imagepath/slide_button.png? – shankhan

ответ

5

Добавить "display: block;" в вашем .btn-pTool классе

+0

Добавление «display: block» работало для меня.спасибо – Jason

0

@ TheBigO, это неверно. Пробелы могут иметь фон/изображения (проверены в IE8 и Chrome как проверка работоспособности).

Проблема в том, что имя a.btn-pToolName отмечено как display: block. Это приводит к тому, что браузеры webkit больше не отображают фон во внешнем пространстве. Кажется, что IE делает это, как хочет OP.

OP случайный класс .btn-pTool для отображения: встроенный блок, чтобы заставить его работать как гибрид span/div (взять фон, но не вызвать разрыв в макете).

+0

IE8 и Chrome могут позволить вам выделять фоны, хотя это не является частью спецификации CSS, поэтому они просто прощают. Вы должны прокомментировать мой ответ, вместо того, чтобы публиковать новый ответ, чтобы ответить мне :) – Olhovsky

+0

Мне не хватает «cred» на этом сайте stackexchange (я делаю при запуске) для комментариев. Плюс я также дал альтернативу вашему ответу. Также ... спецификация может сказать одно, но реальность - это другое. Это здорово, и все, чтобы закодировать спецификацию, но я живу в реальном мире ... :) – Sean

+0

Дело не в том, чтобы использовать «код для спецификации» только по принципу. Предположение, которое мы делаем со спецификацией, заключается в том, что браузеры, отличные от IE и Chrome, и возможные будущие браузеры, будут следовать спецификации. Вот для чего это. В настоящее время, особенно с таким количеством телефонов с поддержкой Интернета, вы не должны делать предположение, что промежутки всегда будут иметь фон. Почему бы не следовать спецификации, когда это так же просто? – Olhovsky

0
<span class="btn-pTool"> 
<a class="btn-pToolName" href="#"></a> 
</span> 

Это пустая. Попробуйте добавить неразрывный пробел, чтобы дать ссылку и охватывают некоторые содержание:

<span class="btn-pTool"> 
<a class="btn-pToolName" href="#">&nbsp;</a> 
</span> 

Стоит также отметить, что CSS спецификация говорит, что вы не можете дать пролету фонового изображения, поскольку пролеты не блоковые элементы. Поместите код фонового изображения в стиль класса div или используйте <p> instead of <span>. Некоторые браузеры могут позволить вам помещать фон в диапазон, но не все (возможно, более старые версии IE).

0

Я пробовал код и нашел это, положив background-image: url(image.png); в номер btn-pToolName и сменил color:#000000. он отображает изображение на фоне.

мой тест CSS:

  .btn-pTool { 
       margin: 0; 
       padding: 0; 
      } 

      .btn-pToolName { 
       text-align: center; 
       width: 26px; 
       height: 190px; 
       display: block; 
       color: #000000; 
       text-decoration: none; 
       font-family: Arial, Helvetica, sans-serif; 
       font-weight: bold; 
       font-size: 1em; 
       line-height: 32px; 
       background-image: url(defalut.png); 
       background-repeat: no-repeat; 
      } 

и тест HTML:

 <div class="pToolContainer"> 
      <span class="btn-pTool"><a class="btn-pToolName" href="#">adad</a></span> 
      <div class="pToolSlidePanel"></div> 
     </div> 

Надеется, что это помогает.

1

В дополнение к display:block ИЛИ display:inline-block

Попробуйте дать достаточно padding к вашему .btn-pToolName и убедитесь у вас есть правильные значения для background-position

+0

Я не undesrtand .. Может кто-то оставить комментарий при голосовании? –

0

Вы применили класс «БТН-pTool», чтобы охватить что встроенный элемент ... дайте display:block, а также добавьте текст внутри тега <a> и посмотрите результат.

также даю цвет фона и положение фона, а также к изображению, хотя фон по умолчанию позиции есть .. но попытаться сделать это таким образом

4

Используйте сокращённое свойство для свойства фона и введите имя папки, где thje изображения был обнаружен.

.btn-pTool{ 
    margin:0; 
    padding:0; 
    background:url("../folder name/slide_button.png") no-repeat; 
      } 

.btn-pToolName{ 
    text-align: center; 
    width: 26px; 
    height: 190px; 
    display: block; 
    color: #fff; 
    text-decoration: none; 
    font-family: Arial, Helvetica, sans-serif; 
    font-weight: bold; 
    font-size: 1em; 
    line-height: 32px; 
} 
0

Используйте этот один, чтобы добавить фон ---

background-image: url('images-path'); 

Вы также можете добавить повтор или нет-функции повтора в нем!

background: url('images-path') no-repeat 00; 
+1

'background-image' сломается, если вы включите положение и повторите информацию. Я полагаю, вы хотели использовать «фон» во второй строке. – MetalFrog

0
<span class="btn-pTool"> 
     <a class="btn-pToolName" href="#"></a> 
    </span> 

Попробуйте добавить display:block к .btn-pTool, и дать ему ширину и высоту.

Также в вашем коде оба tbn-pTool и btn-pToolName не имеют текстового содержимого, поэтому могут не отображаться вообще.

Вы можете попытаться заставить прийти содержание в них этот путь

.btn-pTool, .btn-pToolName { 
    content: " "; 
} 
0

Код ниже работ. Замените текст в одиночных кавычек с вашим изображением. Если он находится в той же папке, если нет, добавьте ../foldername/'yourimagename ' Надеюсь, что это поможет.

Примечание:

использование одиночных кавычек большинство программистов не рекомендуется, но я использую его, и он работает. Кроме того, если бы вы написать PHP вы оцените то, что он может сделать, т.е. добавить фоновое изображение из переменных и т.д.

<html> 
<head> 
<style type="text/css"> 
.btn-pTool{ 
margin:0; 
padding:0; 
background-image: url('your name of the field'); 
height:100px; 
width:200px; 
display:block; 
} 

.btn-pToolName{ 
    text-align: center; 
    width: 26px; 
    height: 190px; 
    display: block; 
    color: #fff; 
    text-decoration: none; 
    font-family: Arial, Helvetica, sans-serif; 
    font-weight: bold; 
    font-size: 1em; 
    line-height: 32px; 
    } 
    </style> 
    </head> 
    <body> 
    <div class="pToolContainer"> 
    <span class="btn-pTool"><a class="btn-pToolName" href="#">Test text</a></span> 
    <div class="pToolSlidePanel">Test text</div> 
    </div> 
    </body> 
    </html> 
4

Я столкнулся с этой проблемой. Мой HTML был, как показано ниже:

<th style="background-image:url('Image.png');"> 
</th> 

Я добавил «& NBSP», как @shankhan предложил внутри-й и образ начал показ.

<th style="background-image:url('Image.png');"> 
    &nbsp; 
</th> 
+0

Я также сталкиваюсь с этой проблемой и использую свой способ ее решения. Однако почему я должен добавить '& nbsp', тогда изображение появляется? – CYB

+0

@CYB: Я не эксперт. Но я считаю, что пустые ячейки скрыты по умолчанию. Вы можете добавить css как 'table { empty-cells: show; } 'как сказано [здесь] (http://stackoverflow.com/a/6828615/740756) – user007

0

Самый простой способ состоит в том, копировать и мимо этого фона изображения: url(../slide_button.png); вместо background-image: url(slide_button.png); В таком случае мы должны использовать ../ перед тем пути. Либо вам нужно дать полный путь. Другое дело, что, прежде чем делать какие-либо изменения, просто очистите историю браузера, а затем обновите страницу.

0

1.Use этот код в таблице стилей

body { 
    background: URL("slide_button.png"); 
    background-size: 100% 100%; 
    background-repeat: no repeat; 

2.Put IMG и HTML-файл вместе в одной папке 3.IF не работала попытка преобразования PNG файл в формате JPG для этого просто загрузить ПИК на Facebook, а затем скачайте, что pic из facebook автоматически преобразуется в jpg, и при загрузке галочки отметьте частные настройки, чтобы ур друзья не могли видеть, что изображение 4.if все еще не работает imform me ..

+0

Или вы можете просто искать google png в jpg-конвертер ... – sitBy

Смежные вопросы