wrapper
- margin-top: 20px;
появляется скролл по горизонтали ну вертикальный скролл понятен, типа враппер отталкивается не от бади а на самом деле от условного родительского блока для боди, и то что избежать это можно тремя способами (текст внутри бади, бордер у бади или паддинг) НО я внатуре не врубаюсь , почему появляется горизонтальный то скролл, если я задаю чисто верхний маржин ! Оо Не понятно => контентныеЭто вы имели ввиду , что картинки это контент, т.е. к примеру лицо пользователя это
<img src="#">
а если это к примеру какая нибудь иконка декоративная , то можно и стилями background: url("url.png")
отделаться?Всё ок => украшения (псевдоэлемент, а не пустой div)а это вы имели ввиду что пустому диву нельзя давать
.div{ background: url("url.png");
такое свойство, т.е. нужно создавать псевдоэлемент для див блока, и уже ему давать свойство в виде урла картинки? Так? abstract class Expression{
private static $keyCount = 0;
private $key;
abstract public function interpret(InterpreterContext $context);
public function getKey(){
if(!isset($this->key)){
self::$keyCount++;
$this->key = self::$keyCount;
};
return $this->key;
}
};
class InterpreterContext{
private $expressionsStore = [];
public function replace(Expression $exp, $value){
$this->expressionsStore[$exp->getKey()] = $value;
}
public function lookup(Expression $exp){
return $this->expressionsStore[$exp->getKey()];
}
};
class LiteralExpression extends Expression{
private $value;
public function __construct($value){
$this->value = $value;
}
public function interpret(InterpreterContext $context){
$context->replace($this, $this->value);
}
};
Expression
передаётся методу lookup
объекта типа InterpreteContext
, в методе lookup
в том числе вызывается и метод getKey()
, который не принадлежит объекту LiteralExpression
в виду чего вызывается метод родителя, благодаря которому в классе ребёнке создаётся свойство! Если я правильно понял этот пример , то представленный мною "говнокод" (по вашей терминологии) как раз и задаётся вопросом, почему так делает автор книги. document.body.match(regEx)
ну разумеется боди перед этим подготавливается, удаляются все пробелы между <td></td>
ну а данные (именно данные первой странички) я получаю с помощью location.href(url)
. после парсинга "первой" странички, и вытягивания нужных мне ссылок с неё я уже делаю запросы по этим ссылкам, в ответ на запросы приходит хтмл разумеется в виде строки, который я так-же подгатавливаю, ну и уже пользуясь другим классом я парслю данные с этих "вторых" страниц... Плагин уже давно готов, и работает, конечно регулярки это супер не надёжно, я уже убедился в этом 100 раз (хотябы потому-что иногда на некоторых страничках даже дата отображается в необычном формате , ну вот такой вот сайт , с которым мне приходится работаь), но частично проблему с некорректной работой регулярок мне удалось решить с помощью обработки исключений (сделал кучу классов на все случаи жизни которые мне собственно показывают стэк и место а так-же детальное описание ошибки, и я соотвественно вижу сразу , какая регулярка касячит). Так вот, плагин работает, но регулярки в данном случае это супер ненадёжно, но другой альтернативы я пока не вижу... Было бы здорово, если бы в ответ с сверва приходил json , это было бы просто божественно, но пока я вынужден парсить всё с помощь regExp
, благо я их упростил уже до очень простого уровня