Как выровнять изображение и текст по вертикали внутри элемента TD?

__ isset - магический метод. Магические методы - это методы, которые называются внутренне.

Рассмотрим следующий код

<?php
// Declare a simple class
class TestClass
{
    public $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    public function __toString()
    {
        return $this->foo;
    }
}

$class = new TestClass('Hello');
echo $class;
?>

здесь _ toString - магический метод, но вы не будете его называть. Когда строка echo $ class; выполняется. PHP знает, что теперь я должен рассматривать объект $ class как строку и рассматривать любой объект как метод вызова _toString, если он реализован в этом классе.

Все магические методы, называемые подобными в косвенных путь.

Другой пример, следующий за

<?php
class CallableClass
{
    public function __invoke($x)
    {
        var_dump($x);
    }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

Аналогично, в приведенном выше коде var_dump (is_callable ($ obj)); косвенно вызывает метод __invoke magic.

15
задан Glorfindel 25 February 2019 в 23:00
поделиться

8 ответов

Ну, при выборе метода фонового изображения затем это очень просто:

background: url(feed.png) left center no-repeat
18
ответ дан 1 December 2019 в 01:17
поделиться

Другие ответы, которые указывают изображение, не должны быть частью содержания и просто для художественного оформления, которое спорно. Я действительно полагаю, что необходимо добавить пустое alt припишите своему изображению так, чтобы программы для чтения с экрана могли проигнорировать изображение, если Вы принимаете решение сохранить свой существующий метод.

vertical-align свойство является тем, которое необходимо использовать здесь, но что Вы хотите использовать, text-bottom. Я также собираюсь предположить, что Вы хотите, чтобы это было ссылкой, таким образом, вот полный пример кода:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>garethjmsaunders.co.uk</title>
    <style type="text/css">
    a { text-decoration: none; }
    a img { border: 0; vertical-align: text-bottom; }
    </style>
  </head>
<body>
<table>
<tr>
<td>
  <a href="" title="garethjmsaunders.co.uk rss feed">
    <img alt="" src="http://blog.garethjmsaunders.co.uk/wp-content/feed-icon-16x16.gif" />
    My feed
  </a>
</td>
</tr>
</table>
</body>
</html>

Если это все еще не желательно, можно экспериментировать с line-height и другие значения для vertical-align видеть что работы лучше всего для Вас.

6
ответ дан 1 December 2019 в 01:17
поделиться

Изображение выравнивается к основной линии текста, это не включает высоту подстрочного элемента, которая является 'галочкой' в букве как g или y.

Если высота строки/ячейки должна быть зафиксирована, можно добавить высоту строки, чтобы заставить ее вертикально центрироваться. Так, например, принятие Вашей ячейки 16 пкс высотой:

td.feed {
    line-height:16px;
}

Другая опция состояла бы в том, чтобы добавить значок как фоновое изображение, добавив оставленный дополнению ячейке:

td.feed {
    background: transparent url(/wp-content/feed-icon-16x16.gif) no-repeat left center;
    padding-left: 18px; /* width of feed icon plus 2px spacing */
}

Второй означал бы, что Вы могли устранить необходимость таблиц вообще, теперь существует идея...

9
ответ дан 1 December 2019 в 01:17
поделиться

Попробуйте это:

<td>
   <img src="http://blog.garethjmsaunders.co.uk/wp-content/feed-icon-16x16.gif"/>
   <span class="feedTxt">My feed</span>
 </td>

 .feedTxt { line-height: 20px; } /* Or whatever the height of the image is.  Adjust as needed. */
1
ответ дан 1 December 2019 в 01:17
поделиться

Что случилось с созданием его фоновое изображение?

.feed {
  background: transparent url("http://blog.garethjmsaunders.co.uk/wp-content/feed-icon-16x16.gif") no-repeat scroll left center;
  padding-left: 16px;
}
2
ответ дан 1 December 2019 в 01:17
поделиться

просто попробуйте "вертикальный - выровняйтесь: середина" на теге img, после, чем Вы может также установить дополнение для TD

1
ответ дан 1 December 2019 в 01:17
поделиться

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

<td>
<table><tr style="vertical-align:top;"><td><img src="path_here" /></td><td>my feed</td></tr></table>
</td>
0
ответ дан 1 December 2019 в 01:17
поделиться

Вы могли сделать position: relative; top: 3px; на <img> тег. Вы могли также попробовать vertical-align: middle; на <td> тег, но я не думаю, что он будет работать правильно, поскольку я вполне уверен, я встретился с этим прежде. Вы могли также вставить их отдельный <td> теги, но это своего рода нет - нет.

0
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: