Gibt es eine Möglichkeit, CSS calc () niemals zu einem negativen Wert zu machen?

8

Ich habe den folgenden Code, der großartig funktioniert, wenn ich meinen Inhalt zentriere, bis die vh kleiner ist als 650px . Ich habe mich gefragt, ob es einen Weg gibt, diesen Wert niemals unter 0 zu setzen, nur mit CSS calc .

%Vor%     
cmorrissey 24.02.2016, 15:14
quelle

2 Antworten

15

Wenn Sie davon ausgehen, dass es keine Möglichkeit gibt, die von calc() berechneten Werte zu begrenzen, können Sie eine Medienabfrage verwenden, wenn max-height höchstens 650px

ist %Vor%

oder Sie können die Logik auch wiederherstellen, indem Sie die vorhandene Regel in eine min-height mediaquery

einschließen %Vor%     
fcalderan 24.02.2016, 15:16
quelle
3

Um die allgemeine Frage zu beantworten:

  

Gibt es eine Möglichkeit, CSS calc () niemals zu einem negativen Wert zu machen?

Die Antwort lautet nein, weil CSS keine Möglichkeit bietet, eine Menge manuell auf einen Mindest- oder Höchstwert zu beschränken (oder zu klammern).

Ob eine Zahl oder eine Länge nativ auf einen bestimmten Bereich beschränkt ist, hängt von der Eigenschaft ab, die diesen calc() -Wert hat. Aus der Spezifikation :

  

Der aus einem Ausdruck resultierende Wert muss an den im Zielkontext zulässigen Bereich angeglichen werden.

     
    

Diese beiden sind äquivalent zu 'width: 0px', da Breiten unter 0px nicht erlaubt sind.

%Vor%   

Beispiel: Während negative Werte für margin und z-index gültig sind, sind negative Werte für border-width , padding , height , width usw. nicht gültig. Die Besonderheiten davon sind fast immer in der Spezifikation für die jeweilige Eigenschaft definiert.

Da Sie in Ihrem Beispiel zufällig Ansichtsfenstereinheiten verwenden, können Sie Medienabfragen in Verbindung mit ihnen als demonstriert von fcderan .

    
BoltClock 24.02.2016 15:30
quelle

Tags und Links