Autor Zpráva
Stamina01
Profil
Zdravím,
Chtěl bych zeptat na vypočítání šířky blokových nenahrazovaných prvků.
Tedy na tuto rovnici : ML+BL+PL+width+PR+BR+MR=šířka omezujícího bloku

Pokud by byl blok širší než jeho omezují box a některá hodnota např.margin by byla auto, vypočítala by se její hodnota z rovnice?

Např.
block - width 200px
blockin- width 300px

...tak zda by se ostatní vlastnosti přizpůsobily tak aby byla zachováno ML+BL+PL+width+PR+BR+MR=šířka omezujícího bloku ?
A tedy například vypočítaný margin by mohl být záporný?


Děkuji.
Railbot
Profil
Myslím, že chceš vědět docela jednoduchou věc, ale popisuješ to jako jadernou fyziku, čemuž já nerozumím a asi nebudu jediný.
Bubák
Profil
Co se stane, pokud se element nevejde, záleží na CSS vlastnosti overflow.
Stamina01
Profil
Jde mi o to zda ta rovnice platí i když bude width větší než omezující blok.....
Bubák
Profil
Šířka nemůže být větší, než omezující blok. Mám dojem že si pleteš "omezující blok" s nadřazeným elementem.
Stamina01
Profil
Šířka nemůže být větší, než omezující blok. Mám dojem že si pleteš "omezující blok" s nadřazeným elementem.
Proč by nemohla být šířka obsahu bloku (width) větší než šířka jeho omezujícího bloku?

Budu mít např.
<div> .................. width 400px
<div>..................... width 600px
blablabla
</div>
</div>

A já jsem se ptal zda rovnice: ML+BL+PL+width+PR+BR+MR=šířka omezujícího bloku
bude platit i pro tento příklad. Zda se ostatní vlastnosti (margin padding border)s hodnotou auto přizpůsobí rovnici tak aby vycházela.
Pokud ano musela by být nějaká hodnota záporná....
panther
Profil
Stamina01
A já jsem se ptal zda rovnice: ML+BL+PL+width+PR+BR+MR=šířka omezujícího bloku
bude platit i pro tento příklad. Zda se ostatní vlastnosti (margin padding border)s hodnotou auto přizpůsobí rovnici tak aby vycházela.
Pokud ano musela by být nějaká hodnota záporná....

a než abys nám to tu popisoval rovnicemi, jako je „ML+BL+PL+width+PR+BR+MR=šířka omezujícího bloku “, nechtěl bys to raději sám zkusit? Zkus si s tím pohrát, třeba objevíš Ameriku..
Bubák
Profil
Budu mít např...
To je to, so jsem psal, předtím ješte s otazníkem, ale z ukázky je jasné, že si pleteš omezující blok a nadřazený element.
Stamina01
Profil
Block-level, non-replaced elements in normal flow

The following constraints must hold among the used values of the other properties:

'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + scrollbar width (if any) = width of containing block

If 'width' is not 'auto' and 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + scrollbar width (if any) (plus any of 'margin-left' or 'margin-right' that are not 'auto') is larger than the width of the containing block, then any 'auto' values for 'margin-left' or 'margin-right' are, for the following rules, treated as zero.

If all of the above have a computed value other than 'auto', the values are said to be "over-constrained" and one of the used values will have to be different from its computed value. If the 'direction' property of the containing block has the value 'ltr', the specified value of 'margin-right' is ignored and the value is calculated so as to make the equality true. If the value of 'direction' is 'rtl', this happens to 'margin-left' instead.


Výše uvedený výstřih z W3C jsem pochopil tak, že jestli bude větší width B2 než je width jeho rodiče B1(obsahující blok) jedna z hodnot margin B2 bude nulová a rovnice platit nemusí - blok přetéká. Pokud width bude menší tak se díky tomu "=" dopočítají hodnoty auto na jeho velikost...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: