Как я могу заставить изображения вписаться в квадратное поле на 200 пикселей с помощью CSS?

Короткий ответ: Вы не можете без пароля пользователя или пользователя, называющего Ваш сервис через COM.

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

  • путем вхождения в систему как пользователь с LogonUser . Это однако требует, чтобы Вы знали пароль пользователя.
  • путем дублирования существующего маркера с [1 110] CreateRestrictedToken , DuplicateToken , или DuplicateTokenEx .
  • путем открытия маркера от другого процесса или потока, который уже является loggen на как пользователь, с [1 113] OpenProcessToken или OpenThreadToken

9
задан Eric 2 September 2009 в 16:22
поделиться

4 ответа

Я установил это на своем компьютере, и он работал нормально. После просмотра вашего примера страницы проблема в том, что вы установили изображение на display: block . Либо удалите это правило из вашего общего правила img (в любом случае странная вещь для глобального использования), либо измените правило изображения, которое вы разместили выше, на следующее:

div.images div.small img
{
    vertical-align: middle;
    max-width: 200px;
    max-height: 200px;
    display: -moz-inline-box; /* Firefox 2 */
    display: inline-block;
}

По умолчанию img element и другие «заменяемые» элементы (Flash и т. д.) являются «inline-block» - это означает, что они размещаются в строке как текст, но имеют ширину и высоту.

12
ответ дан 4 December 2019 в 14:29
поделиться

Мне нужно было сделать то же самое некоторое время назад, и я нашел хорошую реализацию в по этой ссылке . «Центрировать изображение внутри div по вертикали и горизонтали, не зная размера изображения».

У меня это работает так, как задумано.

1
ответ дан 4 December 2019 в 14:29
поделиться

Однажды я столкнулся с этой проблемой вертикального центрирования и, чтобы она работала правильно во всех браузерах, я обратился к javascript / jQuery:

$(document).ready(function() {
    $('img').each(function() {
        image_height = $(this).height();
        margin_top = (200 - image_height) / 2;
        $(this).css('margin-top', margin_top + 'px');
    });
});

Обратите внимание, что вам понадобится $ (window) .load вместо $ (document) .ready, если размеры изображения не указаны в html.

1
ответ дан 4 December 2019 в 14:29
поделиться

пробовали ли вы использовать:

display:block;
margin-left:auto;
margin-right:auto;

, который должен центрировать элементы уровня блока

0
ответ дан 4 December 2019 в 14:29
поделиться
Другие вопросы по тегам:

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