Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

Container Pseudo Element #6203

Closed
Xemiron opened this issue Sep 19, 2013 · 22 comments
Closed

Container Pseudo Element #6203

Xemiron opened this issue Sep 19, 2013 · 22 comments
Labels
Milestone

Comments

@Xemiron
Copy link

Xemiron commented Sep 19, 2013

Wenn man ein Layout ohne Footer verwendet und den Layout Builder eingebunden hat, entsteht nach dem .container div durch das Pseudo-Element mit dem content: "." ein Rand am Ende der Seite.

@leofeyer
Copy link
Member

Lässt sich das nicht mittels display:none ausblenden?

@Xemiron
Copy link
Author

Xemiron commented Sep 19, 2013

Danke für den Tipp. Der Fehler lässt sich mit display:none beheben.
Wäre es dann nicht besser, standardmäßig im Layout Builder statt display:block, display: none zu verwenden?

@tristanlins
Copy link
Contributor

Nein, wenn man das Element mit display: none ausblendet verliert es seine Funktionalität. Das Element wird ja als float break workaround verwendet. (wenn es das Element ist, von dem ich ausgehe)

@leofeyer
Copy link
Member

Korrekt. Man könnte höchstens überlegen, die CSS-Anweisung dynamisch in das Markup zu schreiben, wenn es keinen Footer gibt.

@HellPat
Copy link

HellPat commented Sep 20, 2013

Why not use " " instead... it works fine.
See http://nicolasgallagher.com/micro-clearfix-hack/

@leofeyer
Copy link
Member

Wegen mir gerne. @Xemiron könntest Du bitte kurz bestätigen, dass das Problem mit dem Micro-Clearfix-Hack nicht auftritt?

@Xemiron
Copy link
Author

Xemiron commented Sep 20, 2013

@leofeyer Ja das Problem tritt mit dem Micro-Clearfix-Hack nicht mehr auf.

@leofeyer
Copy link
Member

Der Patch wäre dann:

/**
 * Custom layout sections
 */
.custom {
    display:block;
}
#container:before,.custom:before,#container:after,.custom:after {
    content:" ";
    display:table;
}
#container:after,.custom:after {
    clear:both;
}

Brauchen wir wirklich :before und :after? Die bisherige Lösung kam nur mit :after aus.

@contao/workgroup-core

@leofeyer
Copy link
Member

leofeyer commented Oct 2, 2013

@Xemiron Könntest Du hierzu bitte noch kurz ein Feedback geben?

@Xemiron
Copy link
Author

Xemiron commented Oct 2, 2013

@leofeyer Der Patch funktioniert einwandfrei.

@leofeyer
Copy link
Member

leofeyer commented Oct 2, 2013

@Xemiron Die Frage war, ob wir die :before-Anweisungen wirklich brauchen. Funktioniert es ohne auch?

@Xemiron
Copy link
Author

Xemiron commented Oct 2, 2013

@leofeyer Ja es funktioniert auch ohne :before-Anweisung

@HellPat
Copy link

HellPat commented Oct 2, 2013

/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

Look at 2. I'm not sure...

@leofeyer
Copy link
Member

leofeyer commented Oct 2, 2013

I've run tests with every major browser, even with the official demo, but neither using block instead of table nor entirely removing the :before statement had any effect at all. The top margin of the child elements remained.

@may17 @JanoschSkuplik Am I missing something?

@HellPat
Copy link

HellPat commented Oct 2, 2013

Is it a real problem to have 1 Pseude-Element more?
The micro-clearfix is well tested by thousands of websites and it works. Why adjust it?

@leofeyer
Copy link
Member

leofeyer commented Oct 2, 2013

I don't want to add any changes which break the backwards compatibility. How do you know the additional pseudo element doesn't do exactly this?

@HellPat
Copy link

HellPat commented Oct 2, 2013

Because I use this clearfix in every of my contao projects and it work's in every mayor browser.
How do you know it doesn't break BC if you don't use the :before Pseudo-Element?

@leofeyer
Copy link
Member

leofeyer commented Oct 2, 2013

I don't. That is why I keep asking people :)

@HellPat
Copy link

HellPat commented Oct 2, 2013

👍

@bekanntmacher
Copy link
Contributor

How can I reproduce that exactly in the online demo? I would make a test with about 80 systems/browsers combinations.

@leofeyer
Copy link
Member

leofeyer commented Oct 4, 2013

Changed in 40840cc then.

@leofeyer leofeyer closed this as completed Oct 4, 2013
@fritzmg
Copy link
Contributor

fritzmg commented Oct 23, 2013

content:" ";

Ist gar nicht notwendig, es reicht auch

content:"";

Siehe http://css-tricks.com/snippets/css/clear-fix/

Die einfachste Version des clearfix ist

.cf:after {
  content:"";
  display:block;
  clear:both;
}

Und wenn man IE 6/7 compatibility auch noch benötigt, dann zusätzlich

.cf {
    zoom:1;
}

:before und "." sollte in den restlichen, aktuellen Browser Versionen nicht mehr benötigt werden.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants