Используйте segments
вместо lines
.
Функция segments
добавит только к существующему сюжету. Чтобы создать пустой график с правильными осями и пределами, сначала используйте plot
с type="n"
, чтобы нарисовать «ничего».
x0 <- seq(1, 10, 0.1)
colour <- ifelse(sin(seq(from=1, to=10,by=0.1))>0.5,"red","blue")
plot(x0, sin(x0), type="n")
segments(x0=x0, y0=sin(x0), x1=x0+0.1, y1=sin(x0+0.1), col=colour)
Подробнее см. ?segments
.
[/g0]
В зависимости от создаваемой конструкции каждое из нижеприведенных решений clearfix CSS имеет свои преимущества .
У clearfix действительно есть полезные приложения, но его также использовали в качестве взлома. Прежде чем использовать clearfix, возможно, вам могут пригодиться эти современные решения css:
overflow: auto;
Самый простой способ очистить плавающие элементы используют стиль overflow: auto
для содержащего элемента. Это решение работает во всех современных браузерах.
<div style="overflow: auto;">
<img
style="float: right;"
src="path/to/floated-element.png"
width="500"
height="500"
>
<p>Your content here…</p>
</div>
Один недостаток - использование определенных комбинаций полей и отступов на внешнем элементе может вызвать появление полос прокрутки, но это можно решить, поместив поля и отступы на другой родительский элемент, содержащий.
Использование 'overflow: hidden' также является решением clearfix, но не будет иметь полос прокрутки, однако использование hidden
приведет к обрезке любого содержимого, расположенного за пределами содержащего элемента.
Примечание: Элемент floated - это тег img
в этом примере, но может быть любым элементом html.
Тьерри Кобленц на CSSMojo написал: Самая последняя перезагрузка clearfix . Он отметил, что отказавшись от поддержки oldIE, решение можно упростить до одного оператора css. Кроме того, использование display: block
(вместо display: table
) позволяет правильно сжимать поля, когда элементы с clearfix являются родственными.
.container::after {
content: "";
display: block;
clear: both;
}
Это самая современная версия clearfix.
- объясняет, как решить общие проблемы, связанные с этой техникой, а именно установку width: 100%
в контейнере.
.container {
overflow: hidden;
display: inline-block;
display: block;
}
Вместо использования свойства display
для установки " hasLayout "для IE, другие свойства могут использоваться для запуска hasLayout для элемента .
.container {
overflow: hidden;
zoom: 1;
display: block;
}
Другой способ очистить плавающие объекты с помощью свойства overflow
- использовать хак подчеркивания . IE будет применять значения с префиксом подчеркивания, другие браузеры - нет. Свойство zoom
запускает hasLayout в IE:
.container {
overflow: hidden;
_overflow: visible; /* for IE */
_zoom: 1; /* for IE */
}
Хотя это работает ... не идеально использовать хаки.
Это более старый «Легкая очистка» имеет то преимущество, что позволяет позиционированным элементам висеть за пределами контейнера за счет более хитрого CSS.
Имейте Вас, попробовал это:
<div style="clear:both;"/>
у меня не было проблем с этим методом.
Я нашел ошибку в официальном CLEARFIX-методе: ТОЧКА не имеет размера шрифта. И если Вы установите height = 0
, и первый Элемент в Вашем DOM-дереве имеет класс "clearfix", то у Вас всегда будет поле внизу страницы 12 пкс:)
необходимо зафиксировать его как это:
/* float clearing for everyone else */
.clearfix:after{
clear: both;
content: ".";
display: block;
height: 0;
visibility: hidden;
font-size: 0;
}
Это - теперь часть YAML-расположения... Просто смотрите на него - это очень интересно! http://www.yaml.de/en/home.html
Водосливное свойство может использоваться для очистки плаваний без дополнительной разметки:
.container { overflow: hidden; }
Это работает на все браузеры кроме IE6, где все, что необходимо сделать, включают hasLayout (масштабирование, являющееся моим предпочтительным методом):
.container { zoom: 1; }
Использование overflow: hidden
/ auto
и высоты для ie6 будет достаточно, если у плавающего контейнера есть родительский элемент.
Любой из #test может работать, если HTML, указанный ниже, очищает float.
#test {
overflow:hidden; // or auto;
_height:1%; forces hasLayout in IE6
}
<div id="test">
<div style="floatLeft"></div>
<div style="random"></div>
</div>
В случаях, когда это отказывается работать с ie6, просто float родительского объекта, чтобы очистить float.
#test {
float: left; // using float to clear float
width: 99%;
}
Еще никогда особо не нуждался в какой-либо другой очистке. Может быть, так я пишу свой HTML.
Я бы сделал плавающий #content
тоже, чтобы обе колонки содержали плавающие элементы. Также это позволит вам очищать элементы внутри #content
, не очищая сайдбар.
То же самое с оберткой, вам нужно будет сделать ее контекстом форматирования блока, чтобы обернуть две колонки.
В этой статье упоминается несколько триггеров, которые можно использовать: контексты форматирования блоков.
честно говоря, все решения кажутся хаком для исправления ошибки рендеринга... я не прав?
я нашел
самым простым, самым легким. Видеть class="clearfix"
повсюду не может задеть чувства того, кто возражает против лишних элементов разметки, не так ли? Вы просто рисуете проблему на другом холсте.
Я также использую решение display: hidden
, которое отлично подходит и не требует дополнительных объявлений классов или html-разметки... но иногда нужно, чтобы элементы переполняли контейнер, например, красивые ленты и пояса