Code-Blöcke mit eigenem Scroll-Balken möglich?



  • Problem:
    Es gibt Situationen, in denen Leute relativ lange Zeilen Text in einem Code-Block eines Beitrags hier reinpacken, beispielsweise bei Compiler-Fehlermeldungen, wie hier. Das führt (zumindest bei mir) dazu, dass ich die anderen Texte nur lesen kann, wenn ich im Firefox horizontal scrolle, weil der auch erst relativ spät umgebrochen wird.

    Mögliche Lösung:
    Könnte man die Seiten so modifizieren, dass die Code-Blöcke ihren eigenen horizontalen Scroll-Balken bekommen und die Code-Blöcke in der Breite beschränkt werden?

    Danke.



  • krümelkacker schrieb:

    Mögliche Lösung:
    Könnte man die Seiten so modifizieren, dass die Code-Blöcke ihren eigenen horizontalen Scroll-Balken bekommen und die Code-Blöcke in der Breite beschränkt werden?

    Um Gotteswillen, nein! Keiner der Codes nimmt bei mir die Haelfte der Bildschirmbreite ein!



  • Kann ich verstehen, die Scroll-Balken sollen doch Optional sein, aber der Code Area sollte nicht die WebPage über die 100% des WebView bringen, weil sonst alle andere Absatze genau die gleiche Breite haben wie der Code.



  • Zeus schrieb:

    Kann ich verstehen, die Scroll-Balken sollen doch Optional sein, aber der Code Area sollte nicht die WebPage über die 100% des WebView bringen, weil sonst alle andere Absatze genau die gleiche Breite haben wie der Code.

    Genau, die Code-Blöcke sollten nicht breiter als das Browserfenster sein und, wenn nötig, eben einen eigenen Scroll-Balken besitzen.

    Ich find's echt blöd, dass ich, um Text lesen zu können, hin und herscrollen muss, nur weil der "normale Text" dann auch über die 100% schießt und sich dem dicksten Code-Block auf der Seite anpasst.

    Kellerautomat, ich glaube, du hast mich missverstanden.


  • Administrator

    Wäre einfach machbar. Habe es gerade in einem Test ausprobiert. Wobei nur moderne Browser mit CSS3 unterstützt würden, der Rest soll halt endlich aktualisieren 🙂

    Es gibt allerdings ein Problem: Was ist die optimale Breite von Code? Und das bitte in Pixel, da man dies dann definieren müsste.

    Bis es soweit ist, hier ein Greasemonkey \1:

    // ==UserScript==
    // @include http://www.c-plusplus.net/forum/*
    // @grant none
    // ==/UserScript==
    
    (function()
    {
    
    var codeElements = document.getElementsByClassName('code');
    
    function wrapNode(codeNode, tagName)
    {
        var wrapper = document.createElement(tagName);
        var parent = codeNode.parentNode;
        parent.insertBefore(wrapper, codeNode);
        wrapper.appendChild(codeNode);
        return wrapper;
    }
    
    for(var i = 0; i < codeElements.length; i += 2)
    {
        var codeNode = codeElements[i].parentNode.parentNode.parentNode;
    
        var wrapper = wrapNode(codeNode, 'div');
        wrapper.style.width = '800px';
        wrapper.style.overflow = 'auto';
    }
    
    })();
    

    Grüssli



  • Naja, Pixel... schön wär halt Breite == so das kein horizontales Scrollen notwendig ist...

    MfG SideWinder


  • Administrator

    SideWinder schrieb:

    Naja, Pixel... schön wär halt Breite == so das kein horizontales Scrollen notwendig ist...

    Wenn du mir erklärst, wie man das mit CSS realisiert, dann könnte man es anschauen. Mir ist zumindest nicht bekannt, wie man das nur mit CSS realisieren kann, ohne eine feste Breite festzulegen. Aber ich bin auch kein CSS Spezialist 😉

    Das einzige, was mir aktuell noch einfallen würde, ist eine Lösung per Javascript über window.innerWidth und document.width . Darüber könnte man die "optimale" Breite ausrechnen und dann entsprechend setzen. Aber Javascript erscheint mir hier einfach nur eine Notlösung zu sein und nicht sauber.

    Grüssli



  • ...



  • Eine feste Breite löst das Problem nicht. Zwei Gruppen von Nutzern wären gekniffen:
    Fensterbreite < 800px: Diese Nutzer haben keine Verbesserung, aber schlimmstenfalls dann zwei Scrollbars statt einer
    Fensterbreite >> 800px (z.B. Leute mit weitverbreiteten Full-HD-Bildschirmen): Diese Nutzer sehen ggf. Scrollbars, wo sonst kein scrollen nötig wäre, weil der Bildschirm eig. breit genug ist.

    Eine Scrollbar, die die Breite des Browserfensters berücksichtigt, wäre hingegen wirklich gut.



  • Anderer Vorschlag: bei .forumline table-layout:fixed als Eigenschaft aufnehmen. Dann geht der Code-Block zwar immer noch über den Rand, aber die Tabelle selbst behält ihre Breite. Scrollbars sähen natürlich schöner aus, aber das ist erstmal besser als nichts.



  • Dank, was auch immer geändert wurde.



  • Wie wäre es damit, dass die Seite automatisch nach links "geschoben" wird, wenn ich meinen Mauszeiger gegen die rechte Seite drücke?



  • Und wenn man in ein anderes Fenster an der rechten Seite wechseln will?



  • Nathan schrieb:

    Und wenn man in ein anderes Fenster an der rechten Seite wechseln will?

    Das geht nicht. Dann drückst du nämlich nicht gegen den Rand. 😉



  • Mr X schrieb:

    Eine Scrollbar, die die Breite des Browserfensters berücksichtigt, wäre hingegen wirklich gut.

    +1

    Mich nerven die durch breite Codeblöcke auseinandergezogenen Threads auch immer.

    // NEEEEEERV ========================================================================================================================================================================================================================================================================================================================================================================================================================
    

    Wobei mir schon reichen würde wenn nicht-Code-Blöcke auf eine sinnvolle Breite limitiert wären. Würde mich auch nicht stören wenn das dann nur 800px wären.                                                                                                                                                                                                                                                                                                         Ja, hier steht auch noch was 🤡
    Beim Lesen von normalem Text finde ich es sogar angenehmer wenn der nicht übern ganzen Bildschirm geht - zu lange Textzeilen sind eh doof.



  • Zeus schrieb:

    Dank, was auch immer geändert wurde.

    Also ich behaupte mal dass nix geändert wurde 🙂



  • Ja, hier steht auch noch was

    Wie haste denn das gemacht? Mehrere Leerzeichen werden doch weggemacht... 😕


  • Mod

    Sone schrieb:

    Ja, hier steht auch noch was

    Wie haste denn das gemacht? Mehrere Leerzeichen werden doch weggemacht... 😕

    Indem er keine Leerzeichen benutzt 🙂 . Wie genau das geht, kannst du sehen, wenn du den Beitrag zitierst.

    Das mit den Leerzeichen ist übrigens keine Eigenschaft des Forums an sich, sondern von HTML (und es hat auch gute Gründe, warum das so ist!).



  • hustbaer schrieb:

    Zeus schrieb:

    Dank, was auch immer geändert wurde.

    Also ich behaupte mal dass nix geändert wurde 🙂

    Ja, mein neuer großer Monitor hat mich da reingelegt 🤡



  • SeppJ schrieb:

    Sone schrieb:

    Ja, hier steht auch noch was

    Wie haste denn das gemacht? Mehrere Leerzeichen werden doch weggemacht... 😕

    Indem er keine Leerzeichen benutzt 🙂 . Wie genau das geht, kannst du sehen, wenn du den Beitrag zitierst.

    Genaugenommen sind es sogar Leerzeichen. Aber halt keine normalen 🙂


Anmelden zum Antworten