Flashhilfe.de - Flash Community

htmlText in TextField: Abstand/Leerzeile nach <ul> [Flash 10]

 


AntwortenRegistrieren Seite1  

Kerstin77#1
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

10.04.2013, 13:02

Hallo,

ist es irgendwie möglich, den Abstand bzw. Leerzeile (ich weiß nicht genau, was es ist), nach einer unsortierten Liste (ul) in einem Textfeld zu entfernen?

Habs hiermit versucht, brachte aber leider keinen Erfolg (außer daß die Lücke anschließend doppelt so groß war):
ActionScript:
1styles.setStyle("ul", { marginBottom:'0px' } );


Einzelne Textfelder kommen in meinem Projekt leider nicht in Frage.

Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
Schlagwörter: Abstand, htmlText, marginBottom
Sebastian#2
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

10.04.2013, 17:20

Hi Kerstin,

hast Du mal ein kleines komplettes Copy&Past Beispiel?

Ich kann das Problem nicht reproduzieren:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
         var myTextBox:TextField = new TextField();
         var myText:String = "<p><ul><li>This is </li><li>some</li></ul> content to <i>test</i></p>";

         myTextBox.width = 200;
         myTextBox.height = 200;
         myTextBox.multiline = true;
         myTextBox.wordWrap = true;
         myTextBox.border = true;

         addChild(myTextBox);
         myTextBox.htmlText = myText;

Grüße,
Sebastian

P.S. ach ich sehe gerade, setStyle. Also Flex. mx oder spark?
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Kerstin77#3
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

Themenautor/in

11.04.2013, 10:03

Hi Sebastian,

sehr merkwürdig, in einem Testprojekt konnte ich das auch nicht verifizieren. Dann muss ich wohl weiter suchen, wo der Haken sitzt.

Aber trotzdem vielen Dank.

Grüße
Kerstin

PS: es ist kein Flexprojekt, sondern das Textfeld wird mit CSS formatiert.


UPDATE:

Ok, hab ein Beispiel:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
var styles:StyleSheet = new StyleSheet;
styles.setStyle("h1", { color: '#000000', fontFamily:'Verdana', fontSize:'16', fontWeight:'bold' } );
styles.setStyle("p", { color:'#000000', fontFamily:'Verdana', fontSize:'12', leading:'4px' } );
styles.setStyle("ul", { marginLeft:'20px' } );
styles.setStyle("li", { color:'#000000', fontFamily:'Verdana', fontSize:'12', leading:'4px' } );

var sitemap_arr:Array = new Array();
var s1_arr:Array = new Array();
s1_arr.push("Grundlagen");
s1_arr.push(
   new Array(
      "Inhalt",
      new Array(
         "Kapitel 1",
         "Kapitel 2",
         "Kapitel 3"
      ),
      "Übungen"
   )
);
sitemap_arr.push(s1_arr);
var s2_arr:Array = new Array();
s2_arr.push("Weiterführende Inhalte");
s2_arr.push(
   new Array(
      "Inhalt",
      new Array(
         "Kapitel 4",
         "Kapitel 5",
         "Kapitel 6"
      ),
      "Übungen"
   )
);
sitemap_arr.push(s2_arr);

var sitemap_str:String = "";
for (var i:uint = 0; i < sitemap_arr.length; i++) {
     sitemap_str += "<p><b>" + sitemap_arr[i][0] + "</b></p>";
     for (var k:uint = 0; k < sitemap_arr[i][1].length; k++) {
        if (getQualifiedClassName(sitemap_arr[i][1]<i>) == "Array") {
           sitemap_str += "<ul>";
           for (var u:uint = 0; u < sitemap_arr[i][1]<i>.length; u++) {
              sitemap_str += "<li>" + sitemap_arr[i][1]<i><u> + "</li>";
           }
           sitemap_str += "</ul>";
        } else {
           sitemap_str += "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + sitemap_arr[i][1]<i> + "</p>";
        }
     }
     if (i != sitemap_arr.length - 1) sitemap_str += "<br/>";
}

var myTextBox:TextField = new TextField();
myTextBox.width = 400;
myTextBox.height = 300;
myTextBox.multiline = true;
myTextBox.wordWrap = true;
myTextBox.border = true;
myTextBox.styleSheet = styles;

addChild(myTextBox);
myTextBox.htmlText = sitemap_str;


Das Problem scheint die marginLeft-Eigenschaft der ul zu sein. Also kann ich es mir jetzt aussuchen, ob ich Links den Abstand haben möchte und dann die Leerzeile in kauf nehme oder nicht.
Wer Rechtschreibfehler findet, darf sie gerne behalten.
Geändert von Kerstin77 am 11.04.13 um 10:46 Uhr
Kerstin77#4
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

Themenautor/in

11.04.2013, 11:19

Manchmal ist die Lösung einfacher als man glaubt: marginLeft für li setzen - funktioniert ;-)
ActionScript:
1styles.setStyle("li", { color:'#000000', fontFamily:'Verdana', fontSize:'12', leading:'4px', marginLeft:'20px' } );
Wer Rechtschreibfehler findet, darf sie gerne behalten.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Javascript new line [Flash CS5] 23.11.2020 - user01234
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de