Changeset 1929


Ignore:
Timestamp:
08/10/07 12:32:02 (12 years ago)
Author:
laszlo
Message:

fixed #1479 spent 24h
If you want to use the word wrap in a div, you should set the wrapme class for the tag.

Now it is working in IE and FireFox?. Somebody should extend it to Safari.

Location:
trunk/skins
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/skins/lemill/widget_chapter.pt

    r1900 r1929  
    1515            <tal:defs tal:define="UID python:field.isUid(chapter); 
    1616            index repeat/chapter/index;"> 
    17             <div tal:condition="not:UID" style="overflow: hidden; word-wrap: break-word;" 
     17            <div class="wrapme" tal:condition="not:UID"  
    1818            tal:content="structure python:context.cookText(chapter)"></div> 
    1919                <div tal:condition="UID" tal:omit-tag=""> 
  • trunk/skins/lemill_tables/IEFixesLeMill.css

    r1642 r1929  
    4242    width: 520px; 
    4343}                             
     44 
     45#tb-portal-column-content { 
     46    overflow: hidden;  
     47    word-wrap: break-word; 
     48}    
  • trunk/skins/lemill_tables/main_template.pt

    r1570 r1929  
    151151      </metal:block> 
    152152 
     153    <script type="text/javascript"> 
     154            // little hack for Mozilla 
     155        // here we emulate the css3 word-wrap feature  
     156            if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1) { 
     157        var aryClassElements = new Array(); 
     158         
     159        function getElementsByClassName( strClassName, obj ) { 
     160            if ( obj.className == strClassName )  
     161                aryClassElements[aryClassElements.length] = obj; 
     162            for ( var i = 0; i < obj.childNodes.length; i++ ) 
     163                getElementsByClassName( strClassName, obj.childNodes[i] ); 
     164        }    
     165         
     166        aryClassElements.length = 0; 
     167        getElementsByClassName( 'wrapme', document ); 
     168 
     169        for ( var i = 0; i < aryClassElements.length; i++ ) { 
     170            var elem = aryClassElements[i];        // maintain a reference to the bound element 
     171            elem.style.overflow =  "hidden;";   
     172            elem.addEventListener('overflow', 
     173            function() {     
     174                // matches any "mangled" HTML tag 
     175                var exp = /<&#8203;\/*[&#8203;_\s="'\w]+>/g; 
     176                var txt = elem.innerHTML;    // the bound element's innerHTML 
     177                var chars = txt.split(''); 
     178                var newTxt = chars.join('&#8203;');      
     179                newTxt = newTxt.replace(exp, reconstructTag);                
     180                elem.innerHTML = newTxt; 
     181            },false); 
     182        } 
     183         
     184                function reconstructTag(_tag) 
     185                { 
     186                    return _tag.replace(/&#8203;/g, ''); 
     187                }    
     188       }     
     189    </script> 
    153190</body> 
    154191</html> 
Note: See TracChangeset for help on using the changeset viewer.