[ Ivan Miladinović @ 05.07.2005. 22:10 ] @
Daklem, IE me izludjuje!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

U FF mi sve radi kako treba, ajde pomagajte...

Ovako mi izgleda fajl:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

.
.
.
// ovde nastaje problem, IE ne "slusa" ovaj deo sa width

echo '<pre width="80" class="textemisije"><strong>';
echo htmlspecialchars(stripslashes($row['ime'])); echo '<br>';
echo '<br /><strong>Legenda: <br></strong></strong>';
echo stripslashes($row['legenda']);
echo '</pre></font><br>';  }

.
.
.
.
// pomagaaaaaaaajte!
[ bzero @ 05.07.2005. 22:40 ] @
A da ti malo haknes neku literaturu o osnovama HTML-a, ovakav dzumbus od koda se retko vidja.
Btw, tvoje pitanje nema veze sa PHP-om, koji ne radi ni u IE, ni u FF, ipak je to valjda jos uvek server side jezik.
[ Ivan Miladinović @ 05.07.2005. 22:44 ] @
Inace ima i te kako veze sa PHP-om jer te podatke izvlacim iz baze!
Ako nema veze sa PHP-om objasni mi zasto nema veze?
Neka moderatori premeste temu gde joj je mesto.

I samo mi objasni gde je tu "dzumbus" od koda??? Molim te, prosvetli me.

boccio: iskuliraj se malo...

[Ovu poruku je menjao boccio dana 06.07.2005. u 00:25 GMT+1]
[ NikolaVeber @ 05.07.2005. 22:58 ] @
Covek je u pravu, ovo nema veze sa php-om. I nema mesta tvom tonu.

Postavi temu na web dizajn forumu, ili bar ovde pejstuj rezultujuci html koji ne radi, a kad bi jos rekao zasto ne radi (kako se to "ne radjenje" manifestuje) bilo bi jako ljubazno.

A da je onaj php kod uzasan... no commment :))
[ sale83 @ 05.07.2005. 23:17 ] @
Pa kada koristis u PHP-u width="80" class="textemisije" onda se to primenjuje ovako
Code:

width=\"80\" class=\"textemisije\" ...



[Ovu poruku je menjao sale83 dana 06.07.2005. u 00:22 GMT+1]
[ mmirilovic @ 05.07.2005. 23:54 ] @
A koliko i ja kao PHP početnik vidim, izostavio si i početno "<?php" i krajnje
"?>"

I da, ton tvojih poruka je zaista oduran...
[ 365 @ 06.07.2005. 00:03 ] @
Blago meni Ivane, pa tebe uopšte ne interesuje kako će da ispadne rezultujući HTML kod. Zašto li se onda buniš ako browser ne ume da te razume?

Kako izgleda HTML kod? Sve u jednoj liniji... bljakavo :-(

Kako to da je u FF sve kako treba? Pogledaj ovo
Code:
<pre width="80" style="border: 1px solid red;">
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
</pre>


Možda je nešto značajno u CSS klasi textemisije, ali to nisi ostavio...

Širinu definiši kroz CSS, ali ne kao broj karaktera. Podesi i vrednost atributa overflow, valjda na auto.

[Ovu poruku je menjao 365 dana 06.07.2005. u 01:03 GMT+1]
[ bzero @ 06.07.2005. 00:22 ] @
Citat:

evil_angel_yu:
Inace ima i te kako veze sa PHP-om jer te podatke izvlacim iz baze!
Ako nema veze sa PHP-om objasni mi zasto nema veze?


Da imas problem sa uzimanjem podataka iz baze, to bi svakako bio PHP problem, ovako s obzirom da je problem sirina ispisanog teksta u IE, to ipak spada u HTML.

Sto se konkretnog problema tice, width atribut u <pre> tagu predstavlja broj karaktera u redu koje treba prikazati, i IE ga uopste ne podrzava, a izbacen je i u HTML 4.01 strict specifikaciji, i uglavnom se po literaturi navodi kao "depriciated" ili "unsupported", pa ga generalno treba izbegavati.

Inace nema potrebe da se ljutis, jer je moj prethodni post bio napisan najboljom namerom.
[ Ivan Miladinović @ 06.07.2005. 09:52 ] @
Citat:
365:
Možda je nešto značajno u CSS klasi textemisije, ali to nisi ostavio...

Širinu definiši kroz CSS, ali ne kao broj karaktera. Podesi i vrednost atributa overflow, valjda na auto.


Evo napravio sam drugi Style, sa atributima koje si mi naveo:
Code:
.legende {
    font-family: Verdana;
    font-size: 12px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    color: #000000;
    text-decoration: none;
    overflow: auto;
    width: 400px;
}


I opet mi u FF radi sve kako treba, tj. napravi mi kolonu koja je siroka 400px, dok mi IE napravi prozor sa skrolovima koji je sirok 400px.

Citat:
sale83: Pa kada koristis u PHP-u width="80" class="textemisije" onda se to primenjuje ovako
Code:

width=\"80\" class=\"textemisije\" ...



[Ovu poruku je menjao sale83 dana 06.07.2005. u 00:22 GMT+1]


I ovo hoce da radi ali samo u FF, ali se opet vracamo na CSS jer to radi samo kad obrisem class=...

Citat:
365: Blago meni Ivane, pa tebe uopšte ne interesuje kako će da ispadne rezultujući HTML kod. Zašto li se onda buniš ako browser ne ume da te razume?

Kako izgleda HTML kod? Sve u jednoj liniji... bljakavo :-(


Pa naravno da ne pisem HTML kod sve u jednoj liniji, imam postovane neke skripte gde se moze videti da nije tako. Ali prvi put izvlacim podatke iz baze na ovaj nacin i tako mi je bilo u knjizi... :-( ne vadim se, nisam aljkav i meni tu nista nije bilo jasno, ali sam mislio da tako treba. Zato sam tako odreagovao na bzero-v post.
Najvise jer se ceo dan mlatim time, i naidjem na problem i pomislim da je on raspolozen da me zeza...

Citat:
bzero: Da imas problem sa uzimanjem podataka iz baze, to bi svakako bio PHP problem, ovako s obzirom da je problem sirina ispisanog teksta u IE, to ipak spada u HTML.


Mogao si to i u prvoj poruci da napises kao obrazlozenje...

Citat:
Sto se konkretnog problema tice, width atribut u <pre> tagu predstavlja broj karaktera u redu koje treba prikazati, i IE ga uopste ne podrzava, a izbacen je i u HTML 4.01 strict specifikaciji, i uglavnom se po literaturi navodi kao "depriciated" ili "unsupported", pa ga generalno treba izbegavati.


Znam, zato sam sam i postovao prvu liniju koda, pa onda onaj deo gde mi je problem. Da se vidi da nisam stavio strict.
A nisam znao da ga IE uopste ne podrzava...
[ 365 @ 06.07.2005. 11:54 ] @
Nije mi jasno zašto je u pitanju PRE tag. Iz više razloga:

- ovde si naveo da klasi pridružuješ font Verdana, koji nije monospace font, a PRE tag je dizajniran za optimalni prikaz monospace fontova.

- u kodu početne poruke vidim da ispisuješ BR tagove unutar PRE taga, što je apsurdno jer se linija u njemu lomi jednostavnim prelaskom u novi red. Tu stoji ponovo primedba o celom HTML isečku u jednom redu, ne ide to tako, pogotovo za ovaj tag.
Citat:
The pre element defines preformatted text. The text enclosed in the pre element usually preserves spaces and line breaks. The text renders in a fixed-pitch font.

(citat sa http://www.w3schools.com/tags/tag_pre.asp)

Takođe još http://www.w3.org/TR/REC-html40/struct/text.html#edef-PRE

[Ovu poruku je menjao 365 dana 06.07.2005. u 12:54 GMT+1]
[ Ivan Miladinović @ 06.07.2005. 12:54 ] @
Ja stavim npr. <p> tag i css izformatira text, ali ne onako kakav je u bazi. (ima uvuceno, novi red i sl.)
<pre> tag to postuje, ali ja hocu da bude na odredjenu sirinu, e to ne mogu da uradim. Znaci u tome je problem. Procitao sam ono sa w3cscools i pre nego sto sam postovao temu, ali nista nije htelo da radi...
Tacnije problem je u Internet Exploreru, jer u Fire Foxu sve radi kako treba.
Zato sam otvorio temu, ako postoji neki nacin da mi to prikaze isto i u Internet Exploreru.
Nije valjda resenje da prepravljam text u bazi da bi ga IE normalno prikazao.
A mene najvise zbunjuje sto to radi u Fire Foxu.

<br> tag mi stoji samo da bi mi posle naslova prikazao jedan red prazan, pa text.
U pravu si, nema potrebe da stoji tu u okviru <pre> taga.

Nego jel ima resenja za ovaj problem?

Jos jednom ponavljam. To RADI u FF, ali nece u IE.
[ 365 @ 06.07.2005. 13:51 ] @
(... nisi odgovorio na pitanje o upotrebi Verdane, ali ima još vremena...)

Koliko vidim, IE brlja što ne menja visinu boxa ako dolazi do pojave horizontalnog skrola, što uzrokuju pojavu vertikalnog skrola jer ne može da prikaže ceo sadržaj (taman kolika je visina horizontalnog skrolera).

U nedostatku pravog rešenja:

- pre zatvaranja PRE taga ubaci još jedan do dva prazna reda
- dodaj još jednu definiciju za klasu - overflow-y: visible;

Ovo će da makne suvišni vertikalni skrol, a dodati prazni redovi služe da njih pregazi horizontalni skrol, a ne neki koristan tekst.

Neće biti potpuno isti prikaz kao u Firefoxu (gde će to sve da bude malo "višlje" i bez gaženja i onih praznih redova), ali bože moj, google u ruke da nađeš kako su to drugi rešili u potpunosti, ili se moli da se neko od takvih pojavi ovde.

[Ovu poruku je menjao 365 dana 06.07.2005. u 14:51 GMT+1]
[ Ivan Miladinović @ 06.07.2005. 14:20 ] @
Nažalost:

Code:
Posted by :  Archive Import (dave)  at 07:42 on Sunday, March 23, 2003

    apparently you can try
    <p style="white-space: -pre-wrap">text here</p>

    or

    <p style="white-space: -moz-pre-wrap">text here</p>
    but I think they will only work in netscape. Otherwise, no joy I'm afraid.

Posted by :  Archive Import (Hugo) at 11:36 on Wednesday, April 02, 2003

    In Netscape <pre wrap="on" class="preClass"> works well but can't find a method for IE to wrap text.. 


Znaci nema pomoci... :-(



Ali evo nesto sa još jednog foruma, ovo mozda moze pomoci, ali nisam najbolje razumeo sta bih trebao da uradim...?
Code:
You are a programmer, it shouldn't be too hard to parse your 
<pre>-listing and compile a <ol>-list (I haven't tried, it's a sort of 
pretty-printing).


A neki lik mu je posle napisao:
Code:
Great shot ! The printing is now good as you can notice it on-line. Thank 
you still!


[Ovu poruku je menjao evil_angel_yu dana 06.07.2005. u 15:25 GMT+1]
[ Br@nkoR @ 06.07.2005. 18:37 ] @
Nisam siguran da li sam dobro razumeo problem, jedni pričaju jedno drugi drugo, pa ajde i ja nešto na brzinu da probam, pošto sam u nekoj žurbi:
Code:

word-wrap: break-word;

Da li je problem sa wrap-om ili ovim skrolovima?

A možeš da probaš i drugačije da uradiš:
html:
Code:

<div id="lajer"><pre class="legende">
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
</pre></div>


css:
Code:

#lajer {
width: 400px;
overflow: auto;
border: 1px solid red;
}
#lajer .legende {
    font-family: Verdana;
    font-size: 12px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    color: #000000;
    text-decoration: none;
}
[ nesh @ 06.07.2005. 19:51 ] @
On Wed, 06 Jul 2005 13:54:03 +0200, <All around the web (evil_angel_yu)>

wrote:


Citat:

Ja stavim npr. <p> tag i css izformatira text, ali ne onako kakav je u

bazi. (ima uvuceno, novi red i sl.)

<pre> tag to postuje, ali ja hocu da bude na odredjenu sirinu, e to ne



Code:

echo '<pre width="80" class="textemisije"><strong>';
echo htmlspecialchars(stripslashes($row['ime'])); echo '<br>';
echo '<br /><strong>Legenda: <br></strong></strong>';
echo stripslashes($row['legenda']);
echo '</pre></font><br>';  }


A zar ne moze:

Code:

<div class="bla">
<p class="ime">$row['ime']</p>
<p class="legenda">$row['legenda']</p>
</div>


pa onda formatiraj <p> kako ti volja (uvuceno, ....), div.class {width: XXXem;}

Ako ti je legenda u vise redova mozes da dodas white-space: pre; u <p> sa legendom ako te mrzi da pre
ispisa pretvoris sve nove redove u <br /> ili jos bolje <p></p>.

Mozda je jos bolje da koristis <dd> (ako ti je ovakav raspored podataka) pa dobijas

Code:

<dd>
<dt>$row['ime']</dt>
<dd>$row['legenda']</dd>
</dd>


CSS sve ovo moze da formatira kako zelis.

grrrr post preko newsa je ceo post dobio &lt; &gt; ....

[Ovu poruku je menjao nesh dana 06.07.2005. u 20:59 GMT+1]
[ Ivan Miladinović @ 06.07.2005. 21:09 ] @
CSS mi formatira text na sirinu i sl. kako ja hocu i to RADI.

E ja imam neke uvucene redove i sl. I to ne mogu da ostavim tagom <pre> a da potom uradim npr justify, to mi nikako ne uspeva.

Cim ne iskoristim <pre> tag, vec bilo koji drugi sve radi, ali mi text nije uvucen, vec sve ide jedno za drugim. Nema veze... Probao sam. Nije uspelo.
Toliko od mene. Idem dalje... :-(

@Br@nkoR
To sve radi, ali kad iskljucim <pre> tag. Hvala na trudu.

@nesh

Ovo je mnogo dobra stvar...
Code:
white-space: pre;

jer kad to zapisem u klasu, ne moram da ukljucim <pre> tag, vec moze i bilo koji drugi <p> <dd> <oi>.... Samo kad bi mogao posle toga da uradim justify... Probao sam ovako
Code:
text-align: justify;

ali ne reaguje posto stavim white-space: pre; A text ne mogu da ubacim justify-ed u bazu jer ne mogu da sacuvam fajl nikako drugacije osim txt - plain text, pa da ga ucitam u bazu.

Hvala svima na odgovorima. Ova tema mi je itekako koristila u svakom slucaju, naucio sam neke druge stvari.

Pozdrav!
[ nesh @ 08.07.2005. 10:41 ] @
On Wed, 06 Jul 2005 22:09:40 +0200, All around the web (evil_angel_yu)

wrote:


Citat:

E ja imam neke uvucene redove i sl. I to ne mogu da ostavim tagom &lt;pre&gt;

a da potom uradim npr justify, to mi nikako ne uspeva.


Cim ne iskoristim &lt;pre&gt; tag, vec bilo koji drugi sve radi, ali mi text

nije uvucen, vec sve ide jedno za drugim. Nema veze... Probao sam. Nije

uspelo.

Toliko od mene. Idem dalje... :-(


@Br@nkoR

To sve radi, ali kad iskljucim &lt;pre&gt; tag. Hvala na trudu.


@nesh


Ovo je mnogo dobra stvar...

Code:


white-space: pre;


jer kad to zapisem u klasu, ne moram da ukljucim &lt;pre&gt; tag, vec moze i

bilo koji drugi &lt;p&gt; &lt;dd&gt; &lt;oi&gt;.... Samo kad bi mogao posle toga da uradim

justify... Probao sam ovako

Code:


text-align: justify;




A sto ne probas da da text koji ti je u bazi podelis u paragrafe (ja tako

radim za slican slucaj kod mene - bbcode parser), pa posle da definises da

paragrafi imaju uvucen prvi red. Mogu da ti dam jednostavan kod u python-u

koji to radi ako bi koristilo.


Ili, mozda da definises paragarf sa font-family: monospace; i onda imas

efekt kao da koristis pre, ali ces moci i da koristis ostale tagove unutar

texta, definises sirinu u em-ovima...


Pomoglo bi ako bi poslao primer texta koji bi trabalo da ide u pre,

onakav kakav dobijas iz baze.