Почему Плавание является лучше, чем position:relative и абсолютным, в то время как мы можем сделать расположение быстро с положением?

Почему Плавание является лучше, чем position:relative и абсолютным, в то время как мы можем сделать расположение быстро с положением? и в это время рецессии, время очень важно.

когда мы делаем с 2 седлами, с 3 седлами или расположение мультиседла и затем располагаем другие элементы в отделения расположения.

Большая часть мировой пользы в Плавании. Почему Плавание лучше, чем position:relative и position:absolute дать положению любой элемент в <body> и другие вложенные элементы?

При использовании положения: к расположению страница/дизайн мы можем создать контейнерное отделение, которое установлено на position:relative, позволив заголовок, довольный и военно-морской divs в контейнерном отделении, которое будет установлено на position:relative, позволяя их divs быть расположенным относительно контейнерного отделения.

и с расположением мы можем сохранить "maincontent" сначала и "leftsidebar" второй в исходном состоянии, которое хорошо для SEO.

объясните вещи со страницей демонстрации в качестве примера.

14
задан Jitendra Vyas 23 February 2010 в 11:07
поделиться

8 ответов

float не нарушит поток документа - также, он будет позиционировать любой элемент, который он использует, наилучшим образом, который он может вместить в ширину контейнера - скажем, у меня есть 5 x 200px divs в контейнере шириной 800px, последний 5-й будет располагаться в "новой строке" под другими - используя position: relative заставит вас самостоятельно вычислять, когда он должен сломаться, и он не будет сломан правильно, поскольку display будет либо block и будет идти по всей ширине, либо inline-block или inline, которые не будут отображаться так же, как block для div'ов, и довольно сильно испортят поток и макет документа.

Это зависит от того, что вы хотите сделать: position:relative используется для перемещения элемента немного в сторону от его естественного расположения, в то время как float заставит его переместиться в крайнее левое или крайнее правое положение в родительском элементе. position:absolute позволит вам позиционировать его относительно ближайшего позиционированного предка (а не позиционировать относительно области просмотра, как фиксированный). Однако если у абсолютно позиционированного элемента нет позиционированных предков, он использует тело документа и перемещается вместе с прокруткой страницы.

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

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

Относительный: ваш элемент позиционируется по отношению к своему последнему брату с относительной позицией

Float: например, если он слева, ваш элемент переместится как можно дальше влево (в зависимости от другого элемента и его ширины, элементы before не будут затронуты, элементы после будут обтекать его.

Ссылка:

http://www.w3schools.com/css/css_osition.asp

http://www.w3schools.com /css/css_float.asp

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

мы используем float как absolute позиционирование не работает для столбцов переменной высоты.

Когда вы указываете position: absolute , элемент удаляется из документа и размещается именно там, где вы ему указываете

Если вы указываете position: relative , то вы можно использовать верхний или нижний, а также левый или правый, чтобы переместить элемент относительно того места, где он обычно встречается в документе.

Источник: http://www.barelyfitz.com/screencast/html-training/css/osition/

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

Я согласен с Frozenskys, оба варианта не лучше, но float удерживает элемент в потоке документа, в то время как position удаляет элемент из потока документа, поэтому я обнаружил, что float работает лучше в большем количестве браузеров, и мой CSS для IE меньше, когда я использую float

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

Как упоминалось выше, это не общая проблема лучше / хуже, но:

Абсолютное позиционирование удаляет элемент из потока документа. абсолютное позиционирование больше не будет влиять на компоновку других элементов в документе.

Таким образом, это обычно не правильный выбор для создания макета всей страницы, если вы не знаете, что ширина и он Право всего вашего контента будет.

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

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

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

Float не лучше Position, а Position не лучше Float - оба должны использоваться в правильной ситуации. Я бы рекомендовал вам прочитать книгу http://www.transcendingcss.com/, если вы хотите узнать больше о том, когда какой из них использовать, и о стилизации CSS в целом.

Пример см. здесь: http://transcendingcss.com/blog/about/changingman_layout_updated/

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

Решение общего назначения (особенно для нормализации поиска и генерации пробок) - это модуль unidecode:

http://pypi.python.org/pypi/Unidecode

Это порт модуля Text:: Unidecode для Perl. Он не является полным, но он переводит все латинские символы, которые я мог найти, транслитерирует кириллицу, китайский и т.д. на латиницу и даже правильно обрабатывает символы полной ширины.

Это - вероятно, хорошая идея просто раздеть все знаки, которые вы не хотите иметь в заключительной продукции или заменять их наполнителем (например, «äßœ $» будет unidecoded к «assoe$» , таким образом, вы могли бы хотеть разобрать небуквенно-цифровой индикатор). Для символов он будет транслитировать, но не должен (скажем, § = > SS и = > EU ) нужно очистить ввод:

input_str = u'äßœ$'
input_str = u''.join([ch if ch.isalnum() else u'-' for ch in input_str])
input_str = str(unidecode(input_str)).lower()

Это заменит все не буквенно-цифровые символы фиктивной заменой, а затем транслитировать последовательность и превратить его в строчный регистр.

-121--3147489-

§ 2,14,15 Последовательности Литералы, раздел 7

Узкий ряд литерал имеет тип «массив n const char», где n - размер последовательности, как определено ниже, и имеет статическое место хранения длительность .

-121--1655878-

Абсолютное позиционирование выводит элемент из нормального потока документов . Любой абсолютно позиционированный элемент полностью игнорируется при отношении нормальных элементов.

Это разрывается во многих сценариях. Главное, что порождает ум, это положить элементы друг под другом. В примере столбца убедитесь, что вы можете абсолютно позиция 3 столбцы, но вы не можете поместить ничего ниже этого на странице, потому что поток все еще в верхней части страницы. «Абсолютные» элементы не влияют на то, куда поступает более позднее содержимое.

С поплавками, вы просто положить элемент после, и он оборачивается вокруг или под плавающих.

Это не значит, что это бесполезно. Позиционирование очень полезно, когда вы хотите всплывать «слой» над веб-страницей.


Краткий пример... Возьмите этот общий HTML сценарий:

<h2>Section title</h2>
<div class="column1">First</div>
<div class="column2">Second</div>
<div class="column3">Third</div>

<h2>Second section title</h2>
...

С поплавками, вы бы использовать этот CSS:

.column1, .column2, .column3 {
  float: left;
  width: 200px;
}
h2 {
  clear: both;
}

И все было бы хорошо. Давайте абсолютно расположим вместо этого столбцы:

.column1, .column2, .column3 {
  position: absolute;
  width: 200px;
  top: 30px; /* enough to miss the first h2 */
}
.column1 {
  left: 0;
  background: pink;
}
.column2 {
  left: 200px;
  background: lightgreen;
}
.column3 {
  left: 400px;
  background: lightblue;
}

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

Если колонки не имеют фиксированной высоты, то невозможно знать, куда поместить этот заголовок ниже колонн. Еще хуже, если нужно больше столбцов под каждым заголовком.

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

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