2016-01-11 8 views
12

Ich verwende nw.js für html/css/js Desktop-App und kann den Mauszeiger im Vollbildmodus nicht vollständig entfernen.Kann den Mauszeiger in der nw.js App nicht vollständig entfernen

enter image description here

Ich habe es entfernt von CSS-Eigenschaften festlegen cursor: none, margin: 0, padding: 0 auf den Körper/html. Und auch toolbar: false und fullscreen: true sind in package.json festgelegt. Aber der Cursor ist ein paar Pixel an allen Rändern des Bildschirms sichtbar (Bild unten).

enter image description here

Seltsames Verhalten, weiß jemand, wie es vollständig entfernen zu?

HINWEIS: Dies ist nur ein Problem in NW.js, wie sie in allen Browsern und auch im xulrunner funktionieren, wie wir in der Gesellschaft von xulrunner zu Knoten-Webkit (nw.js) migriert alle Anwendungen habe dieses Problem.

+0

Ist Ihr Körper Größe und Breite 100% vielleicht gibt es einige Pixel außerhalb des Körpers. Versuchen Sie, css Cursor: keine zu HTML-Tag zu setzen –

+0

Wie ich schon sagte in der Beschreibung, Cursor: keine ist für Body-und HTML-Tags gesetzt. – swolfish

+0

wird der Cursor in bestimmten Bereichen angezeigt oder ist das erneute Erscheinen zufällig? – Aziz

Antwort

3

Ich vermute, ein anderes Element gilt cursor:auto, im Wesentlichen überschreiben Ihre CSS-Regel.

Betrachten Sie das folgende Grund Beispiel:

html, body { 
 
    background:#000; color:#FFF; 
 
    padding: 0; margin: 0; 
 
    text-align: center; 
 
    cursor:none; 
 
} 
 

 
div { 
 
    margin:2em; 
 
    padding:1em; 
 
    background:#555; 
 
    cursor:auto; 
 
}
<div> 
 
    <p>This div has cursor:auto</p> 
 
</div>

Wie Sie sehen können, das Element erhält den normalen Cursor, weil es eine cursor:auto Regel hat. Da Sie Ihren Code nicht angegeben haben, kann ich nicht genau wissen, welches Element die Regel erhält, Sie können in den Devtools überprüfen, um es zu fangen. Andernfalls können Sie alle Cursor-Regeln mit dieser CSS Linie außer Kraft setzen:

* { cursor: none !important; } 

Und das in Aktion zu sehen:

html, body { 
 
    background:#000; color:#FFF; 
 
    padding: 0; margin: 0; 
 
    text-align: center; 
 
    cursor:none; 
 
} 
 

 
div { 
 
    margin:2em; 
 
    padding:1em; 
 
    background:#555; 
 
    cursor:auto; 
 
} 
 

 
* { cursor: none !important; }
<div> 
 
    <p>This div has cursor:auto but gets overriden</p> 
 
</div>


Edit: iframes

Der Cursor kann nicht in Dokumenten versteckt werden, die über eine iframe geladen wurden. Die iframe müsste diese CSS-Regel lokal abrufen.

Siehe iframe Demo: https://jsfiddle.net/azizn/rr7bsrc7/1/

+0

Danke für die nette Erklärung, aber das Problem ist in NW.js, da es irgendwie den Stil außer Kraft setzt oder besser ignoriert. – swolfish

+0

Es könnte mit einer anderen wichtigen Regel überschrieben werden, die mehr Spezifität hat. Wenn Sie eine Live-Demo haben, kann ich mir das anschauen und sehen, was das verursacht. – Aziz

+0

Wie ich in der Beschreibung sagte, haben alle unsere Anwendungen dieses Problem mit Node-Webkit, in den Browsern und Xulrunner Vollbild ist alles in Ordnung. Aber danke. ;) – swolfish

1

Ich habe auch das gleiche Problem. Ich denke, die beste Lösung für uns wäre, zu Electron zu wechseln oder zu warten, bis eine stabile Version 0.13 von nw.js veröffentlicht wird.

Verwandte Themen