Получение атрибута CSS из PHP - PullRequest
1 голос
/ 04 ноября 2011

Я впервые спрашиваю здесь (я заходил на сайт несколько раз, но никогда не спрашивал).Что ж, давайте перейдем к вопросу:

Бывает, что я разрабатываю живой инструмент для изменения размеров изображений (я знаю, что он уже существует, но я делаю свой собственный для своих собственных проектов).Он имеет три параметра: путь к изображению (очевидно), размер, который я хочу изменить, и дополнительный отступ, который я хочу добавить.Идея состоит в том, чтобы изменить размер изображения внутри коробки с квадратными размерами.Проблема в том, что размер, который я хочу изменить, зависит от размера внешнего блока.Например, у меня есть этот HTML-код:

<div class="image_outer_box">
   <img width="300px" height="199px" style=" margin: 65.5px 15px;" src="img.jpg">
</div>

Свойства "image_outer_box" следующие:

.image_outer_box
{
   height: 330px;
   width: 330px;
   border:solid 1px #737373;
}

Функция, которую я вызываю, такова:

liveResize($img, $size, $extramargin);

Проблема здесь в том, что когда я отправляю $ size, я должен знать о свойствах CSS «image_outer_box», чтобы изменить размер.И, как вы можете видеть, дело не только в размере, указанном в "image_outer_box", но и в поле, которое я хочу добавить.На самом деле, я хотел добавить 15px дополнительного поля для изображения и изменить его размер внутри 300x300.

Не важно иметь способ получить атрибуты CSS из этого конкретного класса, но это помогло бы, если я (и другие разработчики) могут применить функцию, не зная атрибутов CSS контейнера, в который будет помещено изображение.

Если есть способ сделать это, я был бы великолепен.

Спасибо!(в другой раз я пришел сюда, чтобы найти решение и нашел его !!!)

РЕДАКТИРОВАТЬ: я нашел способ, который не требует получения свойств CSS, но все же я хотел бы иметьинформация по этому вопросу.Спасибо за тех, кто пытался помочь до сих пор!

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011

Вы действительно хотите сохранить изображение с измененным размером, или вы просто пытаетесь отобразить его с измененным размером? В последнем случае может помочь следующее решение:

HTML

<div class="image_outer_box" style="background:url('img.jpg') no-repeat; background-position:50% 50%; background-size:100%;"> 
</div>

CSS

.image_outer_box
  {
  margin:10px;
  height: 330px;
  width: 330px;
  border:solid 1px #737373;
  }

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

0 голосов
/ 04 ноября 2011

Я думаю, что для того, чтобы быть в курсе CSS и менять его в соответствии с текущим состоянием клиентской стороны изображения, вы должны (я имею в виду, я бы рекомендовал) использовать Javascript и, возможно, если вы хотите, чтобы функция вызывала его через AJAX.

...