Jump to content
php.lv forumi

Teksta pozīcija: IE gļuko


foxsk8

Recommended Posts

Lieta tāda:

 

Uz FF un Opera viss strādā ideāli ar teksta position: absolute;, bet IE negrib saprast, cik tālu tad sākās tā pozicionēšana un paņem krietnu gabalu pa tālu. Ja samazinu PX, tad IE saprot, bet atkal pārējie 2 browseri gļuko. Taisos jau nošauties. :D Vispār to IE vajadzētu masveidā nahrenizēt.

 

Šeit kodi:

 

Tākā paste.php.lv nerukā tad metu šeit:

 

CSS

 

div.module h3,

div.module-hilite1 h3,

div.module-hilite2 h3,

div.module-hilite3 h3,

div.module-hilite4 h3,

div.module-hilite5 h3,

div.module-hilite6 h3 {

position: absolute;

margin: 0;

left: 55px;

top: 18px;

 

color: #333;

}

 

<div id="sidemodules" class="spacer w99">

<div class="block">

<div class="module"><img src="images/hardware.gif" align="left" width=76 height=63 border=0 alt="Sākums">Hardware lietas</div>

</div>

<div class="block">

 

<div class="module-hilite2">

<div>

<div>

<div>

<h3>Hardware</h3>

 

Visu to taisa tas

 

<h3>Hardware</h3>
Link to comment
Share on other sites

phpjanis, cepuri nost - kas par padomiem... :)

 

foxsk8, tev vajag tieši iekš tā module-hilite2, lai absolūti pozicionēja ? Uzliec tam module-hilite2 position: relative;. Varbūt palīdz. Un vispār - kas tev tie par daudzajiem div elementiem ?

 

Un vispār tev tas kods tāds dīvains ;)

Link to comment
Share on other sites

Un vispār - kas tev tie par daudzajiem div elementiem ?

Tā ir viena no attīstības stadijām, strādājot ar CSS :) pirmā ir tabulas, tad - o! jātaisa ar css, tad seko daudz daudz DIVu, un tad pēc kāda laika izrādās ka semantika ir smuka/laba lieta.

Nu tas tā, mans maziņš novērojums :)

Link to comment
Share on other sites

Izmeiģināju visus tos position: veidus. Tad teksts nolec nost no tā teikt vajadzīgās vietas. Varbūt tad vajadzēja atkal citus top left lielumus salikt un būtu ok. Tie divi nu tur pa daudz, bet tā tam ir jābūt, savādāk nestrādā man tā lieta. Īsti nesaprotu, kā tad būs ar to relative? Viņam arī tad jāliek tieši atrašānās punkti vai nē?

Link to comment
Share on other sites

foxsk8, es īsti nezinu, vai es sapratu, ko tu centies panākt, bet to position: relative parent elementam teicu, lai uzliec, lai subelementi, kam būtu position: absolute, posicionētos parent elementa (tam, am relative) ietvaros. Ja tiešajam parent elementam nav relative, tad subelements pozicionēsies attiecībā pēc augstākiem parent elementiem (kam pirmajam būs position: relative). Ja netiek atrats neviens posicionēts parent elements, tad beigās subelementa pozicionēšana notiek body ietvaros.

 

Vispār parent elementam nav jābūt obligāti relative. Tam jābūt vienkārši kaut kā pozicionētam (relative, static, absolute).

 

Ceru, ka var izsekot tam, ko sarakstīju. :)

Edited by andrisp
Link to comment
Share on other sites

Tev tagi pirmkārt nav noslēgti, otrkārt ieliec kādu wrap apkārt ar position:relative un iedod fiksētu platumu (kaut vai testa pēc), jo uz IE6 ar absolūti ir tā ka viņam grūti noteikt kas kur sākās ja nav width parentam.

 

Grūti saprast ko tu gribi panākt, tev dizaina skice ir ?

Edited by NiTrino
Link to comment
Share on other sites

http://89.254.130.100/for.php

 

Lab uz validāciju neskātās. Pašam kauns paliek. Nu uz FF ir itkā ok, uz opera ar, bet uz IE tas teksts, kā jau teicu, neattēlojas pareizi.

Link to comment
Share on other sites

<div class="module"><img width="76" height="63" border="0" align="left" src="images/notepad.gif"/>
<p style="float:left; width:130px; background:red;">Notepad.lv portāls</p>
</div>

 

izskatījās ok.

 

Sūdus jau taisa Tas < H3 >. Un par validāciju domāju visu kopā.

Edited by foxsk8
Link to comment
Share on other sites

Gadījumos, kad IE neprecizitātes nav iespējams izlabot tā, lai uz visiem citiem browseriem rādītu vienādi, tad, lai būtu mazāk čakara, iesaku lietot šo te javaskriptu:

 

CSS Browser selector

 

tas izveido CSS klases atkarībā no browsera tipa, tādējādi vari ērti iekš CSS aprakstīt atsevišķu browseru stilu, piemēram:

div #block {
  position:absolute; left:100px; top:100px;
}

.ie6 div #block {   /* IE6 gadījums */
  position:absolute; left:80px; top:80px;
}

 

Protams, ja kautkur kautkas nepareizi rāda, tad nevajag uzreiz ķerties pie šīs metodes, bet mēģināt atrast tādu CSS koda variantu, kas rāda vienādi uz visiem browseriem. Kautgan no otras puses tieši IE6 ir diezgan liels izņēmums..

Link to comment
Share on other sites

Tā neesmu tik liels pro, bet jāmeiģina jau ir kaut kas darīt lietas labā. Tātad sapratu pareizi. Novelktu to JS, iemetu headerī, tad galvenajā CSS failā pierakstu klāt definējumu par IE 6 un uzlieku vajadzīgos kā man vajag?

Link to comment
Share on other sites

×
×
  • Create New...