mit "calc()" die <div> Breite errechnen aus der Browserhöhe (gelöst)

  • Hallo zusammen,


    für eine Präsentation mit impress.js möchte ich den Slide-Container immer auf die maximale (Browserhöhe - 10px) x ((Browserhöhe - 10px) x Faktor) skalieren.
    Geht das mit CSS? Welche einfache Lösung gibt es sonst?


    Wenn es nur mit jquery geht kann mir jemand bitte die komplette Lösung bitte nennen?
    Da ich Anfänger bin helfen mir die Codefragmente im Netz nicht wirklich weiter. und CSS reicht mir schon von der Komplexität,
    da muss es nicht auch noch jquery sein! Ich möchte doch nur eine Präsentation bauen, die sich bei der Skalierung so wie
    LibreOffice Impress oder Powerpoint verhält!


    Vielen Dank!


    Beispielseite: http://www.ub.uni-bielefeld.de…mpress-js/vorlage/#/start
    dort kann auch der ganze code runter geladen werden!

  • Suchst du sowas?


    Ist reines Javascript, sollte aber ein leichtes für dich sein das mit jQuery oder Ähnlichem umzusetzen :)



    JavaScript
    var factor = 1; //Number eingeben
    var avaibleHeight =  screen.availHeight;
    
    
    
    
    document.getElementById('id').style.height = Math.round( avaibleHeight - 10)+'px';
    document.getElementById('id').style.width = Math.round((avaibleHeight * factor)-10)+'px';
  • Danke, schaue ich mir an.


    Ich glaube ich habe hier eine reine CSS Lösung!
    Bitte schaut es Euch einmal an und gebt mir ein Feedback.
    Mit der Maßeinheit "vh" errechnet!


    Auszug der entsprechenden CSS-Datei:




  • Funktioniert natürlich auch wird aber noch nicht in allen Browsern umgesetzt:



    Viewport Units




    Ist aber falls du diese nicht supporten musst, JS natürlich vorzuziehen:)


    Wobei das bei deinem Problem aber nicht anwendbar ist, da du die Höhe - 10px haben willst...

  • Das mit den 10px war nur eine idee um nicht bis ganz an den Rand zu gehen.
    Ich habe einfach 1vh weniger genommen und damit halt einen Rand von 1%.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!