Jump to content
  • 0

Одновременно float и position


DrStrangeLove
 Share

Question

Может ли одновременно к одному и тому же элементу применяться float и position??

Вроде разные схемы позиционирования, и здесь сказано, что float нельзя применять к позиционированным элементам.

Но я своими глазами видел position:absolute и float:right, применёнными к одному и тому же элементу..

Как всё же оно на самом деле??

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

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

Upd. Softlink, так это вроде допускается, но не position absolute и float:left к одному и тому же элементу.

Edited by Svatov
Link to comment
Share on other sites

  • 0

Как всё же оно на самом деле??

Должно быть так:

  1. If 'display' has the value 'none', then 'position' and 'float' do not apply. In this case, the element generates no box.
  2. Otherwise, if 'position' has the value 'absolute' or 'fixed', the box is absolutely positioned, the computed value of 'float' is 'none'...

А как на самом деле, я не знаю.

Link to comment
Share on other sites

  • 0

На самом деле использование float и position: absolute бессмысленно, так как абсолютное позиционирование "вырывает" элемент из нормального потока расположения, тоесть этот элемент нельзя "обтекать" . он сам по себе и по отношению к родителю.

Link to comment
Share on other sites

  • 0

Спасибо!! А что если одновременно к элементу применяются position:relative; и float:left; (или float:right;) ??

Ведь согласно спеке position:relative; в нормальном потоке..

Как тогда?? float'ы тоже не имеют значения - и используется float:none??

Link to comment
Share on other sites

  • 0

Ваще не понимаю, о чем вы тут говорите.

Тут ведь все интуитивно понятно, если элемент в потоке - ведет себя как в потоке, если не в потоке - соответственно.

Ведь согласно спеке position:relative; в нормальном потоке..

Ничего сложного создать элемент в тесте и поставить ему все позишны и все флоаты, ровно 5 минут.

Link to comment
Share on other sites

  • 0

Ваще не понимаю, о чем вы тут говорите.

Тут ведь все интуитивно понятно, если элемент в потоке - ведет себя как в потоке, если не в потоке - соответственно.

Ведь согласно спеке position:relative; в нормальном потоке..

Ничего сложного создать элемент в тесте и поставить ему все позишны и все флоаты, ровно 5 минут.

т.е. при position:relative; float:left; превалирует, и элемент будет зафлочен??

Link to comment
Share on other sites

  • 0

Ведь согласно спеке position:relative; в нормальном потоке..

И где же в спеке об этом сказано?

http://www.w3.org/TR/CSS21/visuren.html#relative-positioning

По оглавлению указан в разделе Normal flow..

Я что-то путаю??

P.S.: Хотя, кажется, теперь я понимаю..

Спасибо, что ткнули носом..

Edited by DrStrangeLove
Link to comment
Share on other sites

  • 0

Первая же фраза по ссылке: "Once a box has been laid out according to the normal flow or floated, it may be shifted relative to this position" — "Когда элемент расположен на странице в соответствии с норм. потоком или зафлоачен, он может быть смещен относительно этой позиции".

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy