<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web Architecture</title>
	<atom:link href="http://www.web-architecture.ro/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.web-architecture.ro/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 30 Jun 2009 07:27:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Proprietatea Overflow in CSS</title>
		<link>http://www.web-architecture.ro/blog/proprietatea-overflow-in-css/</link>
		<comments>http://www.web-architecture.ro/blog/proprietatea-overflow-in-css/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 17:23:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css-tips]]></category>

		<guid isPermaLink="false">http://www.web-architecture.ro/blog/?p=36</guid>
		<description><![CDATA[Proprietatea CSS numita "Overflow" ii spune browserului cum sa afiseze continutul excedentar al unui element caruia i se poate atribui o inaltime(div, p etc.). Daca elementul container nu are o inaltime impusa, acesta isi va modifica inaltimea in functie de continut si astfel, in acest caz, proprietatea "Overflow" devine inutila.]]></description>
			<content:encoded><![CDATA[<p>Proprietatea CSS numita &#8220;Overflow&#8221; ii spune browserului cum sa afiseze continutul excedentar al unui element caruia i se poate atribui o inaltime(div, p etc.). Daca elementul container nu are o inaltime impusa, acesta isi va modifica inaltimea in functie de continut si astfel, in acest caz, proprietatea &#8220;Overflow&#8221; devine inutila. Pentru exemplificare vom atribui urmatoarea clasa CSS unui div in interiorul caruia vom plasa o imagine si un text:</p>
<p style="margin-left:70px;font-size:12px;color:#233F5F;font-weight:bold;">
<code><em>.patrat {<br />
                   width:100px;<br />
                   height:100px;<br />
                   border:1px  solid black;<br />
         }</em></code>
</p>
<p>Overflow accepta 4 valori:</p>
<ul style="padding-left:70px;">
<li><strong>visible</strong>(valoare default)</li>
<li><strong>hidden</strong></li>
<li><strong>scroll</strong></li>
<li><strong>auto</strong></li>
</ul>
<p><strong><span style="font-size:16px;color:#233F5F;">Visible</span></strong></p>
<p>Daca nu ati setat alta valoarea, aceasta ii va fi atribuita implicit, fiind valoarea deafault a atributului &#8220;Overflow&#8221;. De retinut este faptul ca, desi va fi afisat tot continutul div-ului chiar daca depaseste dimensiunile definite, acesta nu va afecta layout-ul paginii.<br />
<img src="http://www.web-architecture.ro/blog/wp-content/uploads/2009/06/visible.jpg" alt="visible" title="visible" width="647" height="210" class="alignnone size-full wp-image-63" /></p>
<p><strong><span style="font-size:16px;color:#233F5F;">Hidden</span></strong></p>
<p>Continutul ce nu se incadreaza in limitele div-ului nu va fi afisat deloc. Aceasta valoare este folositoare pentru cazurile in care textul din interiorul divului nu are dimensiuni fixe si poate creea probleme de vizualizare. Continutul ce nu se va incadra in limite va fi accesibil doar prin intermediul vizualizarii codului sursa al paginii, asa ca poate fi considerat &#8220;pierdut&#8221; pentru utilizator.<img src="http://www.web-architecture.ro/blog/wp-content/uploads/2009/06/hidden.jpg" alt="hidden" title="hidden" width="647" height="210" class="alignnone size-full wp-image-76" /><br />
<strong><span style="font-size:16px;color:#233F5F;">Scroll</span></strong></p>
<p>Daca este setata aceasta valoare, in interiorul div-ului vor aparea 2 bari de scroll pe orizontala si verticala, pentru vizualizarea continutului. De retinut este faptul ca ambele bari de scroll vor fi afisate, chiar daca in unele cazuri este necesara doar una dintre ele.<br />
<img src="http://www.web-architecture.ro/blog/wp-content/uploads/2009/06/scroll.jpg" alt="scroll" title="scroll" width="647" height="210" class="alignnone size-full wp-image-81" /><br />
<strong><span style="font-size:16px;color:#233F5F;">Auto</span></strong></p>
<p>Valoare &#8220;auto&#8221; este similara cu &#8220;scroll&#8221;, diferenta o face faptul ca doar bara necesara este afisata.<br />
<img src="http://www.web-architecture.ro/blog/wp-content/uploads/2009/06/auto.jpg" alt="auto" title="auto" width="647" height="210" class="alignnone size-full wp-image-86" /></p>
<h2>Unde devine folositoare proprietatea &#8220;overflow&#8221;</h2>
<h4>1.In cazul in care avem de afisat mult continut intr-un spatiu relativ mic.</h4>
<p>Atunci cand avem foarte mult continut dar putin spatiu la dispozitie, il putem plasa intr-un div cu dimensiuni prestabilite si caruia ii setam proprietatea &#8220;overflow&#8221; cu valoarea &#8220;scroll&#8221;. Astfel vor fi afisate barile de scroll care le vor permite utilizatorilor interesati sa citesca tot continutul chiar daca este intr-un spatiu restrans.</p>
<h4>2.Cand vrem sa afisam doar partea din stanga sus a unei imagini.</h4>
<p>Pot exista situatii in care vreti sa faceti vizibila doar partea din stanga sus a unei imagini. Poate vreti sa afisati imaginea drept un thumbnail, sau poate doriti sa afisati doar o mica parte din imagine ca sa atrageti vizitatorii sa dea click pe ea. Oricare ar fi motivul puteti plasa imaginea intru-un div cu dimensiuni predefinite si cu valoarea &#8220;hidden&#8221; a proprietatii &#8220;overflow&#8221;.</p>
<h4>2.Atunci cand intr-o sectiune cu dimensiuni fixe este incarcat un continut dinamic.</h4>
<p>Exista situatii in care o sectiune a unui site are dimensiuni fixe insa continutul este incarcat dinaminc si astlfel inposibil de stiut ce dimensiuni va avea. In aceasta situatie se poate folosi &#8220;overflow:auto&#8221; pentru a adauga barile de scroll in cazul in care continutul va depasi limitele div-ului in care este plasat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-architecture.ro/blog/proprietatea-overflow-in-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transparenta folosind CSS si Javascript</title>
		<link>http://www.web-architecture.ro/blog/transparenta-folosind-css-si-javascript/</link>
		<comments>http://www.web-architecture.ro/blog/transparenta-folosind-css-si-javascript/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 07:08:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css-tips]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://web-architecture.ro/work/wordpress/?p=16</guid>
		<description><![CDATA[De mai bine de 10, elementele transparente si imaginile de tip PNG au devenit din ce in mai folosite in realizarea site-urilor web.
Daca realizarea efectului de transparenta, a unui  div spre exemplu , se poate realiza usor pentru a fi redat corect in toate browserele importante , nu acelasi lucru il putem spune si despre PNG-uri.]]></description>
			<content:encoded><![CDATA[<p>De mai bine de 10 ani, elementele transparente si imaginile de tip PNG au devenit din ce in mai folosite in realizarea site-urilor web. Daca realizarea efectului de transparenta, a unui  div spre exemplu , se poate realiza usor pentru a fi redat corect in toate browserele importante , nu acelasi lucru il putem spune si despre PNG-uri.</p>
<h3><span style="text-decoration: underline;">Transparenta elementelor</span></h3>
<p>Desi transparenta este tratata diferite in browserele cele mai populare, putem realiza cu ajutorul css-ului   o clasa care sa acopere toate browserele importante. De exemplu,  pentru a crea un div cu o culoare de fundal ce are o opacitate de 70%, codul va arata in felul urmator:</p>
<pre><code style="font-size:14px;"><em>   <strong>      .element_transparent {
	       filter:alpha(opacity=70);
	       -moz-opacity:0.7;
	       -khtml-opacity: 0.7;
	       opacity: 0.7;
}</strong></em></code></pre>
<ul>
<li><strong>opacity: 0.5; </strong>Acest atribut este cel mai important (fiind si standardul actual in CSS), si functioneaza pentru majoritatea versiunilor de Firefox, Chrome,  Safari si Opera.</li>
<li><strong>filter:alpha(opacity=50);</strong> Se foloseste pentru Internet Explorer.</li>
<li><strong>-moz-opacity:0.5;</strong> Acesta este folosit pentru browserele mai vechi cum ar fi Netscape Navigator.</li>
<li><strong>-khtml-opacity: 0.5;</strong> Acesta se foloseste pentru browserele ce folosesc engine-ul de randare KTHML, cum ar fi browserul de Linux Konqueror dar si versiuni 1.x ale lui Safari ( versiunile noi de Safari folosesc engine-ul de randare Webkit)</li>
</ul>
<p><strong>Atentie!  <span style="font-weight: normal;">Toate elemntele din <span style="color: #000000;">interiorul </span>unui div vor mosteni opacitatea acestuia. De exemplu, folosind clasa de mai sus pentru un div in interiorul caruia vom plasa un h1, acesta din urma va mosteni si el opacitatea de 70% a div-ului in interiorul caruia este.</span></strong></p>
<pre><code style="font-size:14px;"><span style="color: #000000;"><em>             </em></span><strong><span style="color: #000000;"><em>  &lt;div class="element_transparent"&gt;
	              &lt;h2&gt;Titlu descriptiv al paginii.&lt;/h2&gt;
               &lt;/div&gt;</em></span></strong></code></pre>
<p>Pentru a evita acest lucru,  &#8220;continutul&#8221; va trebui pus intr-un alt div si plasat &#8220;deasupra&#8221; div-ului caruia i s-a aplicat transparenta, cu ajutorul pozitionarii CSS. Codul html va arata astfel:</p>
<pre><code style="font-size: 14px;"><span style="color: #000000;"><strong><em>    </em></strong><span style="color: #888888;"><strong><em>             <span style="color: #000000;"> &lt;h2 class="deasupra"&gt;Titlu descriptiv al paginii.&lt;/h2&gt;   </span>      </em></strong></span><span style="color: #888888;"><strong><em>  </em></strong></span></span></code></pre>
<pre><code style="font-size: 14px;"><span style="color: #000000;"><strong><em>                  &lt;div class="element_transparent"&gt;&lt;/div&gt;</em></strong></span></code></pre>
<p><span style="font-family: -webkit-monospace;">Clasa CSS atribuita headingului &#8220;h2&#8243; fiind:</span></p>
<pre><span style="font-family: -webkit-monospace;">            <strong>                    <em> .deasupra {</em></strong></span></pre>
<pre><strong><span style="font-family: -webkit-monospace;"><em>                                                  position: relative;</em></span></strong></pre>
<pre><strong><span style="font-family: -webkit-monospace;"><em>                                                 top: 4.7em;</em></span></strong></pre>
<pre><strong><span style="font-family: -webkit-monospace;"><em>                                }</em></span></strong></pre>
<h3><span style="color: #000000;"><span style="text-decoration: underline;"><strong><span style="font-family: -webkit-monospace;">Transparenta imaginilor de tip .PNG</span></strong></span></span></h3>
<p><span style="color: #000000;"><span style="color: #000000;">Majoritatea browserelor pot reda corect transparenta imaginilor de tip .PNG, nota discordanta o fac insa versiunile de Internet Explorer mai vechi de 7 (IE 6 este inca folosit de peste 20% de utilizatorii de internet din Romania). Pentru a corecta aceasta problema exista mai multe metode, toate , insa,  bazandu-se pe folosirea unui filtru introdus de Microsoft (Microsoft AlphaImageLoader) pentru a &#8220;forta&#8221; transparenta. Metodele difera doar prin &#8220;locul&#8221; si &#8220;momentul&#8221; in care acest filtru este apelat.</span></span></p>
<h4><strong><span style="color: #000000;"><span style="font-family: -webkit-monospace;">Folosirea filtrului AlphaImageLoader pentru anumite clase CSS</span></span></strong></h4>
<p><span style="color: #000000;">Internet Explorer suporta anumite atribute ce se pot atribui claselor numite &#8220;behaviors&#8221;. Aceste &#8220;behaviors&#8221; sunt specifice Internet Explorer, nefiind suportate in niciun alt browser si in plus, codul necesar pentru a le invoca nu este valid W3C. Acest behavior se poate aplica atat clasei CSS &#8220;.png&#8221; cat si clasei generale &#8220;img&#8221;. De mentionat este faptul ca,  desi acest filtru se poate aplica imaginilor folosite ca &#8220;background-image&#8221; , aceastea nu pot fi pozitionate sau repetate, adica atributele &#8220;background-position&#8221; si &#8220;background-repeat&#8221; nu au niciun efect.</span></p>
<p><span style="color: #000000;"><span style="font-family: -webkit-monospace;">O clasa CSS careia i s-a aplicat acest filtru ar putea arata astfel:</span></span></p>
<pre><span style="color: #000000;"><span style="font-family: -webkit-monospace;"><code style="font-size:14px;"><strong><em>         #logo{
              position:relative;</em></strong></code></span></span></pre>
<pre><span style="color: #000000;"><span style="font-family: -webkit-monospace;"><code style="font-size:14px;"><strong><em>              filter: progid: DXImageTransform. Microsoft. AlphaImageLoader </em></strong></code></span></span></pre>
<pre><span style="color: #000000;"><span style="font-family: -webkit-monospace;"><code style="font-size:14px;"><strong><em>                              (src='imagename.png', sizingMethod='crop');</em></strong></code></span></span></pre>
<pre><span style="color: #000000;"><span style="font-family: -webkit-monospace;"><strong><em>         }</em></strong></span></span></pre>
<p><strong>Mai multe despte aceasta metoda:</strong></p>
<p><span style="font-family: -webkit-monospace;"><span style="color: #888888;"><a href="http://komodomedia.com/blog/index.php/2007/11/05/css-png-image-fix-for-ie/">Komodo Media: Replacing images with background-images</a></span></span></p>
<p><span style="font-family: -webkit-monospace;"><span style="color: #888888;"><br />
</span></span></p>
<h4><strong><span style="color: #000000;">Folosirea atributului &#8220;behavior&#8221; ca referinta la un fisier HTC</span></strong></h4>
<p><span style="color: #000000;">Aceasta metoda foloseste atributul behavior drept &#8220;pointer&#8221; catre fisierul HTC in care este aplicat filtrul de transparenta. Dezavantajele folosirii acestei metode sunt aceleasi ca si la metoda anterioara. Avantajul principal este ca pentru aplicarea ei este necesara o singura linie de cod in fisierul .css:</span></p>
<blockquote>
<pre><span style="color: #000000;"><span style="font-family: Georgia;"> img, div { behavior: url(iepngfix.htc) } </span></span></pre>
</blockquote>
<pre><span style="font-family: Georgia;">
<strong>Mai multe despte aceasta metoda:</strong>

<a href="http://www.twinhelix.com/css/iepngfix/">Twin Helix: IE PNG Fix</a></span></pre>
<pre><span style="font-family: Georgia;">
</span></pre>
<p><span style="font-family: Georgia;"><a href="http://www.twinhelix.com/css/iepngfix/"></a></span></p>
<h4>Folosirea Javascript pentru a reda transparenta</h4>
<pre> <code style="font-size:14px;"> Javascript : img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(...)";</code></pre>
<p>Cum Javascript are abilitatea de a monitoriza si modifica proprietatile tuturor elementelor de pe o pagina, aceasta devine solutia ideala pentru gasirea imaginilor de tip .PNG si aplicarea filtrului de transparenta. Motivele care fac ca aceasta metoda sa fie cea mai buna sunt urmatoarele:</p>
<ol>
<li>Se poate condtitiona folosirea scriptului doar atunci cand browserul folosit este o versiune de IE 6 sau mai veche.</li>
<li>La fel ca si metoda HTC este o metoda ce nu necesita modificari ulterioare.</li>
<li>Codul va fi validat W3C.</li>
<li>Filtrul va fi aplicat si elemtelor noi introduse pe pagina prin intermediul AJAX lucru ce nu era posibil cu metodele anterioare.</li>
</ol>
<p><strong>Mai multe despte aceasta metoda:</strong></p>
<p><strong><a href="http://24ways.org/2007/supersleight-transparent-png-in-ie6">24 Ways: Superslight</a></strong></p>
<p><strong><a title="Unit PNG Fix" href="http://labs.unitinteractive.com/unitpngfix.php" target="_blank">Unit PNG Fix</a></strong></p>
<div><span style="font-family: 'Courier New'; font-size: small;"><br />
</span></div>
<pre><span style="font-family: Georgia;">

</span></pre>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.web-architecture.ro/blog/transparenta-folosind-css-si-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
