tinguo002

           

          CSS浮動屬性Float詳解

          來源
          http://paranimage.com/css-float-attribute/

          什么是CSS Float?

          float 是 css 的定位屬性。在傳統(tǒng)的印刷布局中,文本可以按照需要圍繞圖片。一般把這種方式稱為“文本環(huán)繞”。在網(wǎng)頁設(shè)計中,應(yīng)用了CSS的float屬性的頁面元素就像在印刷布局里面的被文字包圍的圖片一樣。浮動的元素仍然是網(wǎng)頁流的一部分。這與使用絕對 定位的頁面元素相比是一個明顯的不同。絕對定位的頁面元素被從網(wǎng)頁流里面移除了,就像印刷布局里面的文本框被設(shè)置為無視頁面環(huán)繞一樣。絕對定位的元素不會 影響其它元素,其它元素也不會影響它,無論它是否和其它元素挨著。

          像這樣在一個元素上用CSS設(shè)置浮動:

          #sidebar { float: right; }

          fload屬性有四個可用的值:Left 和Right 分別浮動元素到各自的方向,None (默認的) 使元素不浮動,Inherit 將會從父級元素獲取float值。

          Float的用處

          除了簡單的在圖片周圍包圍文字,浮動可用于創(chuàng)建全部網(wǎng)頁布局。

          web layout CSS浮動屬性Float詳解

          Float對小型的布局同樣有用。例如頁面中的這個小區(qū)域。如果我們在我們的小頭像圖片上使用Float,當(dāng)調(diào)整圖片大小的時候,盒子里面的文字也將自動調(diào)整位置:

          reflow example 1 CSS浮動屬性Float詳解

          同樣的布局可以通過在外容器使用相對定位,然后在頭像上使用絕對定位來實現(xiàn)。這種方式中,文本不會受頭像圖片大小的影響,不會隨頭像圖片的大小而有相應(yīng)變化。

          reflow example 2 CSS浮動屬性Float詳解

          清除Float

          清除(clear)是浮動(float)的相關(guān)屬性.一個設(shè)置了清除Float的元素不會如浮動所設(shè)置的一樣,向上移動到Float元素的邊界,而是會忽視浮動向下移動。如下,一圖頂千言。

          unclearedfooter CSS浮動屬性Float詳解

          上例中,側(cè)欄向右浮動,并且短于主內(nèi)容區(qū)域。頁腳(footer)于是按浮動所要求的向上跳到了可能的空間。要解決這個問題,可以在頁腳(footer)上清除浮動,以使頁腳(footer)待在浮動元素的下面。

          #footer { clear: both; }

          clearedfooter CSS浮動屬性Float詳解

          清除(clear)也有4個可能值。最常用的是 both,清楚左右兩邊的浮動。left 和 right 只能清楚一個方向的浮動。none 是默認值,只在需要移除已指定的清除值時用到。inherit 應(yīng)該時第五個值,不過很奇怪的是 IE 不支持(這個不奇怪吧,IE 從來都這么特立獨行吧 -糖伴西紅柿注)。只清除左邊或右邊的浮動,實際中很少見,不過絕對有他們的用處。

          directionalclearing CSS浮動屬性Float詳解

          偉大的塌陷

          使用浮動(float)的一個比較疑惑的事情是他們怎么影響包含他們的父元素的。如果父元素只包含浮動元素,那么它的高度就會塌縮為零。如果父元素不包含任何的可見背景,這個問題會很難被注意到,但是這是一個很重要的問題。

          collapse CSS浮動屬性Float詳解

          塌陷的直觀對立面更不好,看看下面的情況:

          whywecollapse CSS浮動屬性Float詳解

          當(dāng)上面的塊級元素自動擴展以適應(yīng)浮動元素時,段落間的文本流中會出現(xiàn)非自然的空白換行,而且沒有有效的方法來修正這個問題。對于這種情況,設(shè)計師的抱怨會更甚于對塌陷的抱怨(沒理解,不是設(shè)計完成之后才會進行頁面編碼嗎?- 糖伴西紅柿)。

          為了防止怪異的布局和跨瀏覽器的問題,塌陷問題幾乎總是被要處理的。我們在容器中的浮動元素之后,容器結(jié)束之前來清除浮動。

          清除浮動的技術(shù)

          如果你很明確的知道接下來的元素會是什么,可以使用 clear:both; 來清除浮動。這個方法很不錯,它不需要 hack,不添加額外的元素也使得它有良好的語義性。當(dāng)然事情并不是都可以這樣解決的,工具箱中還是需要另外幾個清除浮動的工具。

          空div方法從字面來看,是一個空的 div。
          。有時可能會用
          或者一些其他元素,但是 div 是最常用的,因為它沒有瀏覽器默認樣式;沒有特殊功能,而且一般不會被 css 樣式化。這個方法因為只是為了表現(xiàn),對頁面沒有上下文涵義而被純語義論者嘲笑。誠然,從嚴(yán)格的角度來說他們是對的,但是這個方法有效而且沒有任何傷害。

          overflow 方法在父元素上設(shè)置 overflow 這個 css 屬性。如果父元素的這個屬性設(shè)置為 auto 或者 hidden,父元素就會擴展以包含浮動。這個方法有著較好的語義性,因為他不需要額外元素。但是,如果需要增加一個新的 div 來使用這個方法,其實就和空 div 方法一樣沒有語義了。而且要記住,overflow 屬性不是為了清除浮動而定義的。要小心不要覆蓋住內(nèi)容或者觸發(fā)了不需要的滾動條。

          簡單清除方法使用了一個聰明的 css 偽選擇符(:after)來清除浮動。比起在父元素上設(shè)置 overflow,只需要給它增加一個額外的類似于”clearfix”的類。這個類使用如下 css:

          			.clearfix:after {
             				content: ".";
             				visibility: hidden;
             				display: block;
             				height: 0;
             				clear: both;
          			}

           

          這會在清除浮動的父元素之后應(yīng)用一點看不見的內(nèi)容。這不是全部內(nèi)容,還需要一些額外的代碼來適應(yīng)那些老舊的瀏覽器。

          不同的情況需要不同的浮動清除方法。以一個具有不同樣式塊的網(wǎng)格為例。

          grid blocks CSS浮動屬性Float詳解

          為了從視覺上較好的把相似的塊聯(lián)系起來,需要在必要的地方開啟新行,這里是顏色改變的地方。如果每個顏色組都有一個父元素的話,我們可以使用 overflow 或者 簡單清除方法。或者,在每組之間用一個空div方法。額外的 div 之前并不存在,可以自己試試來看看哪個方法好。

          grid blocks cleared CSS浮動屬性Float詳解

          浮動的問題

          浮動因脆弱而飽受詬病。大多數(shù)的脆弱性來自于 IE6 及其一系列的浮動相關(guān) bug。因為越來越多的設(shè)計師不再支持 IE6 了,你也可以不關(guān)注它了。不過對于那些要關(guān)注的人來說,這里有些大概。

          推倒是浮動元素內(nèi)的元素(大多是圖片)比浮動元素本身寬造成的現(xiàn)象。大多數(shù)的瀏覽器會在浮動之外渲染圖片,但是不會有伸出來的部分影響其他布局。IE 會擴展浮動來包含圖片,精彩大幅度地影響布局。一個普遍的例子是突破伸出主內(nèi)容之外把側(cè)欄推到下面。pushdown2 CSS浮動屬性Float詳解

          快速修正:確保不是圖片造成這種情況,使用 overflow:hidden 來切除多余的部分。

          雙倍邊距bug處理 IE6 時,另一個需要記住的事情是,如果在和浮動方向相同的方向上設(shè)置外邊距(margin),會引發(fā)雙倍邊距。快速修正:給浮動設(shè)置 display:inline; 而且不用擔(dān)心,它依然是塊級元素。

          3像素間距是指挨著浮動元素的文本會神奇的被踢出去3像素,好像浮動元素的周圍有一個奇怪的力場一樣。快速修正:在受影響的文本上設(shè)置寬度或高度。

          IE7 中,底邊距 bug是當(dāng)浮動父元素有浮動子元素時,這些子元素的底邊距會被父元素忽略掉。快速修正:用父元素的底內(nèi)補白(padding)代替。

          posted @ 2012-07-20 14:29 一堣而安 閱讀(204) | 評論 (0)編輯 收藏

          Oracle截取字符串和查找字符串

           來源:
          http://www.cnblogs.com/gsk99/archive/2011/06/14/2080573.html

          oracle 截取字符(substr),檢索字符位置(instr) case when then else end語句使用 收藏

          常用函數(shù):substr和instr
          1.SUBSTR(string,start_position,[length])   
          求子字符串,返回字符串
          解釋:string 元字符串
                 start_position   開始位置(從0開始)
                
          length 可選項,子字符串的個數(shù)
          For example:
          substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符

          substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始之后所有字符
          substr("ABCDEFG", 0, 3);
          //返回:ABC,截取從A開始3個字符
          substr("ABCDEFG", 0, 100);
          //返回:ABCDEFG,100雖然超出預(yù)處理的字符串最長度,但不會影響返回結(jié)果,系統(tǒng)按預(yù)處理字符串最大數(shù)量返回。
          substr("ABCDEFG",
          0, -3); //返回:EFG,注意參數(shù)-3,為負值時表示從尾部開始算起,字符串排列位置不變。


          2.INSTR(string,subString,position,ocurrence)查找字符串位置
          解釋:string:源字符串
               
          subString:要查找的子字符串
                position:查找的開始位置
               
          ocurrence:源字符串中第幾次出現(xiàn)的子字符串
          For example:
          INSTR('CORPORATE FLOOR','OR', 3,
          2)中,源字符串為'CORPORATE FLOOR', 目標(biāo)字符串為'OR',起始位置為3,取第2個匹配項的位置;返回結(jié)果為 14 '

          posted @ 2012-07-11 16:32 一堣而安 閱讀(303) | 評論 (0)編輯 收藏

          jquery中對 iframe的操作

          來源:

           

          http://www.cr173.com/html/13126_1.html

          jquery中對 iframe的操作

          我們先看一下 JQUERY中的對像 contents() 的幫助文件


          contents()
          概述
          查找匹配元素內(nèi)部所有的子節(jié)點(包括文本節(jié)點)。如果元素是一個iframe,則查找文檔內(nèi)容


          示例
          描述:
          查找所有文本節(jié)點并加粗

          HTML
          代碼:
          <p>Hello <a >John</a>, how are
          you doing?</p>jQuery
          代碼:
          $("p").contents().not("[nodeType=1]").wrap("<b/>");結(jié)果:
          <p><b>Hello</b>
          <a >John</a>, <b>how are you
          doing?</b></p>描述:
          往一個空框架中加些內(nèi)容

          HTML 代碼:
          <iframe
          src="/index-blank.html" width="300" height="100"></iframe>jQuery
          代碼:
          $("iframe").contents().find("body")
          .append("I'm in an iframe!");



          去掉iframe 的邊界 frameborder="0"


          1 內(nèi)容里有兩個ifame


          <iframe id="leftiframe"...</iframe>
          <iframe
          id="mainiframe..</iframe>


          leftiframe中jQuery改變mainiframe的src代碼:

          $("#mainframe",parent.document.body).attr("src","

          2 如果內(nèi)容里面有一個ID為mainiframe的ifame
          <iframe
          id="mainifame"...></ifame>
          ifame包含一個someID
          <div
          id="someID">you want to get this content</div>
          得到someID的內(nèi)容


          $("#mainiframe").contents().find("someID").html()html 或者
          $("#mainiframe").contains().find("someID").text()值


          2 如上面所示
          leftiframe中的jQuery操作mainiframe的內(nèi)容someID的內(nèi)容

          $("#mainframe",parent.document.body).contents().find("someID").html()或者
          $("#mainframe",parent.document.body).contents().find("someID").val()


          Jquery獲取到 iframe 所屬的父窗口的里面的id為xuan的 標(biāo)簽的


          $(window.parent.document).find("#xuan").html(x);//


          //js創(chuàng)建 元素 并追加到 父元素的 Iframe中的 元素中的dom操作問題:


          詳見鏈接:http://www.cssrain.cn/?p=1376


          iframe中直接調(diào)用父窗口中的方法:假設(shè)父窗口有個add的方法


          self.parent.add();


          ===============================================================


          IE和Firefox對iframe document對象的差異性


          在IE6、IE7中,我們可以使用document.frames[ID].document來訪問iframe子窗口中的document對象,可是這是不符合W3C標(biāo)準(zhǔn)的寫法,也是IE下獨有的方法,在Firefox下卻不可以使用,F(xiàn)irefox下使用的是符合W3C標(biāo)準(zhǔn)的document.getElementById(ID).contentDocument方法,今天我在寫實例的時候,通過IE8進行測試,IE8也是使用的符合W3C標(biāo)準(zhǔn)的
          document.getElementById(ID).contentDocument 方法。所以我們可以寫一個在IE和Firefox下通用的獲取iframe
          document對象的函數(shù)—getIFrameDOM:



          functiongetIFrameDOM(id){returndocument.getElementById(id).contentDocument||document.frames[id].document;}

          P.S.:如果我們要獲取iframe的window對象,而不是document對象,可以使用document.getElementById(ID).contentWindow的方法。這樣我們就可以使用子窗口中的window對象了,比如子窗口中的函數(shù)。


          在子窗口使用父窗口的函數(shù),獲取父窗口document對象



          在子窗口中,我們可以通過parent就可以獲得父窗口的window對象,如果假如我們在父窗口有一個函數(shù)為getIFrameDOM,我們可以通過parent.getIFrameDOM來調(diào)用,同理我們使用parent.document就可以在子窗口中訪問父窗口的document對象了。


          使用JavaScript進行iframe的DOM操作實例


          首先,我們在父窗口中引入兩個iframe子窗口,ID分別為wIframeA、wIframeB,地址分別為:a.html、b.html。
          父窗口主要HTML代碼如下:



          <div id="pHello" style="margin:10px
          auto;width:360px;height:30px;">此處可通過iframeB的JavaScript函數(shù),來替換哦~</div>
          <iframe id="wIframeA" name="myiframeA" src="a.html" scrolling="no"
          frameborder="0"></iframe> <iframe id="wIframeB" name="myiframeB"
          src="b.html" scrolling="no" frameborder="0"></iframe>


          在子窗口A、B中我放了一個ID為hello的P,以方便我們進行DOM操作演示,子窗口A、B的主要HTML代碼如下:



          <p id="hello">Hello World!</p>

          1、在iframe中,父窗口操作子窗口的DOM


          建好了父窗口跟子窗口,這樣我們可以在父窗口中,通過以下iframeA()函數(shù)來把子窗口A更換P的背景顏色為紅色:



          functioniframeA(){//給子窗口A改變ID為hello的背景色vara=getIFrameDOM("wIframeA");a.getElementById('hello').style.background="red";}functiongetIFrameDOM(id){//兼容IE、Firefox的iframe
          DOM獲取函數(shù)returndocument.getElementById(id).contentDocument||document.frames[id].document;}

          2、在iframe中,子窗口操作父窗口的DOM


          在子窗口中,我們可以方便的進行父窗口DOM操作,只需要在DOM操作之前添加亦歌parent對象的方法就可以啦,如:在上面的子窗口B中,我們可以使用下面的代碼把,父窗口中ID為“pHello”的內(nèi)容給替換掉:

          -------------------


          3、在iframe中,子窗口A操作子窗口B的DOM


          既然子窗口可以操作父窗口的window對象和document對象,那么子窗口也可以操作另外的子窗口的DOM啦~斷橋殘雪在子窗口B中可以直接使用parent直接調(diào)用父窗口中的getIFrameDOM函數(shù)獲得子窗口A的document對象,這樣要修改子窗口A的內(nèi)容就很簡單啦,如以下的代碼:


          vara=parent.getIFrameDOM("wIframeA");


          ===================================================================================


          一個iframe高度自動變化的問題搞了我半天,網(wǎng)上找了下資料,不是很好,結(jié)合了一下jquery(版本1.3.2),4行代碼即可,完美兼容IE、Firefox、Opera、Safari、Google
          Chrome,js如下:


          function  heightSet(thisFrame){
               
          if($.browser.mozilla || $.browser.msie){
                    bodyHeight
          =window.frames["thisFrameName"].document.body.scrollHeight;
               
          }else{
                    bodyHeight
          =thisFrame.contentWindow.document.documentElement.scrollHeight;
                   
          //這行可代替上一行,這樣heightSet函數(shù)的參數(shù)可以省略了
                    //bodyHeight =
          document.getElementById("thisFrameId").contentWindow.document.documentElement.scrollHeight;
               
          }
                 document.getElementById("thisFrameId").height=bodyHeight; 

          }

          <iframe id="mainFrame" name="mainFrame" frameborder="0" 
          scrolling="no" src=""onload="heightSet(this)">

                </iframe>


          引用

          this關(guān)鍵字在各種瀏覽器似乎有不同的意思,FF和IE必須要通過iframe的名字去得到內(nèi)部頁面高度,而其他瀏覽器則可以用this或ID


          引用

          都在說一個異步的問題,如果你ajax用得特別多,但又不想每次都去設(shè)置,那動態(tài)改變iframe肯定達不到你的代碼清潔要求,沒辦法,要么你就脫離iframe。我只能說說一般處理方式,畢竟ajax或動態(tài)表單在一般應(yīng)用中只占小數(shù)比例,異步請求后只需在后面加上:




          Js代碼
          parent.window.heightSet();

          posted @ 2012-07-11 16:31 一堣而安 閱讀(4144) | 評論 (0)編輯 收藏

          CSS定義字體行間距

          CSS定義字體行間距 line-height:xxpx;

          CSS定義字體間距

          下面我們講述一下CSS的文本屬性,還是先來看一下文本屬性的詳細列表:

           

          屬性屬性含義屬性值
          Word-spacing定義了各個單詞之間的間距Normal<length>必須以長度為單位
          Letter-spacing   定義了每個字母之間的間距同上
          Text-decoration定義文字的“裝飾”樣式None|underline|overline|

          line-through|blink

          Vertical-align定義了元素在垂直方向

          上的位置

          Baseline|sub|super|top|text-top|middle|bottom|text-bottom

          <percentage>

          text-transform使文本轉(zhuǎn)換為其它形式Capitalize|uppercase|lowercase|none
          Text-align定義了文字的對齊方式Left|right|center|justify
          Text-indent定義了文本的首行的縮進方式<length>|<percentage>
          Line-height定義了文本的行高Normal|<unmber>|<length>|

          <percentage>

          我們可以從表中看到在這里可以定義文本的文字間距、字母間距、裝飾、對齊方式、縮進方式和行高等屬性。

          舉個例子來看看吧:

          CODE:

          <p style="letter-spacing:5px;text-align:justify;text-indent: 4em;line-height:17pt">我們看到經(jīng)過文本屬性處理的文本字與字之間多了間距,行與行之間多了行高,對齊方式變成了兩端對齊,并且段首又多縮進了兩格。</p>

          letter-spacing設(shè)置了字間距為5px,其中5px為一個長度單位;text-align設(shè)置了對齊方式為兩端對齊;indent設(shè)置了縮進格為4em;line-height設(shè)置了行高為17pt

          從上面的例子,我們可以看出利用CSS的文本屬性可以方便的對頁面中的文本進行排版。

          posted @ 2012-07-07 10:25 一堣而安 閱讀(603) | 評論 (0)編輯 收藏

          HTML小技巧將table邊框改為細線

          來源:
          http://www.cnblogs.com/binaryworms/archive/2010/03/25/1695339.html

          HTML小技巧將table邊框改為細線

          HTML制作新手在用TABLE表格時,會碰到如何改變邊線粗線,因為默認的TABLE邊線設(shè)置即使是1px 是很粗的。因此會使用其他一些方法來制作出細線邊框,這里介紹一種利用CSS來實現(xiàn)細線的方法,很有效,而且兼容所有瀏覽器。

          細線表格如果單純設(shè)置邊框,很難保證瀏覽器兼容。常見的做法是利用 CSS2 的 "border-collapse:collapse;" 屬性合并表格邊框;并對 table 元素設(shè)置左邊框和上邊框,對 th 和 td 元素設(shè)置右邊框和下邊框。

          HTML:

          <table>     <tr>         <th>table head (row1, col1)</th>         <th>table head (row1, col2)</th>         <th>table head (row1, col3)</th>     </tr>     <tr>         <td>table data (row1, col1)</td>         <td>table data (row1, col2)</td>         <td>table data (row1, col3)</td>     </tr>     <tr>         <td>table data (row2, col1)</td>         <td>table data (row2, col2)</td>         <td>table data (row2, col3)</td>     </tr>
          </table>

          CSS:

          table{border-collapse:collapse;border-spacing:0;border-left:1px solid #888;border-top:1px solid #888;background:#efefef;}
          th,td{border-right:1px solid #888;border-bottom:1px solid #888;padding:5px 15px;}
          th{font-weight:bold;background:#ccc;}

          posted @ 2012-07-05 16:53 一堣而安 閱讀(2441) | 評論 (0)編輯 收藏

          css排版時出現(xiàn):里面的div設(shè)置margin-top值時外面div會向下移動相應(yīng)距離這是為什么

          來源:
          http://zhidao.baidu.com/question/263160712.html

          css排版時出現(xiàn):里面的div設(shè)置margin-top值時外面div會向下移動相應(yīng)距離這是為什么 請哪位高手幫幫忙
          <body>
          <div class="logon">
                <div  class="log_bk">
          
                </div>
          </div>
          </body>
          
          body { margin:0 auto; padding:0px; background:#0A76B0;}
          #logon{ background:url(../images/logon-bk.jpg) no-repeat left top; 
                      height:865px; width:1251px;}
          .log_bk{ background:url(../images/01.png) no-repeat left top; height:380px; 
                        height:270px; margin:300px 0 180px 460px;}
          
          因為背景是圖案所以要設(shè)置高度,我把#logon的背景定位在頂部也不行。
           
          滿意回答 
          設(shè)置logon的padding: 1px
          因為logon和log_bk垂直方向的margin合并了,如果設(shè)置了logon的padding為1px就可以避免margin合并。

          追問

          好了,剛才把padding值加到里面的div了,不過兩個div的margin值為什么會合并呢?
           

          回答

          恩,剛才我寫錯了,寫成里面的了。。
          這個是css標(biāo)準(zhǔn)規(guī)定的,垂直方向的margin會合并。
          比如你有很多段落,margin是10px,其實第一段上面的margin和最后一段下面的margin是10px,且段與段之間的margin也是10px,css標(biāo)準(zhǔn)就是為了保持這個margin一致才規(guī)定垂直方向margin要合并。
          margin合并時會取最大的那個margin,所以合并后logon的margin-top也成了300px了。
           

          posted @ 2012-07-05 16:52 一堣而安 閱讀(2649) | 評論 (0)編輯 收藏

          CSS實現(xiàn)垂直居中的5種方法

          來源
          http://www.qianduan.net/css-to-achieve-the-vertical-center-of-the-five-kinds-of-methods.html

          CSS實現(xiàn)垂直居中的5種方法

          利用 CSS 來實現(xiàn)對象的垂直居中有許多不同的方法,比較難的是選擇那個正確的方法。我下面說明一下我看到的好的方法和怎么來創(chuàng)建一個好的居中網(wǎng)站。

          使用 CSS 實現(xiàn)垂直居中并不容易。有些方法在一些瀏覽器中無效。下面我們看一下使對象垂直集中的5種不同方法,以及它們各自的優(yōu)缺點。(可以看看測試頁面,有簡短解釋。)

          方法一

          這個方法把一些 div 的顯示方式設(shè)置為表格,因此我們可以使用表格的 vertical-align property 屬性。

          <div id="wrapper">
          <div id="cell">
          <div class="content">
          		Content goes here</div>
          </div>
          </div>
          #wrapper {display:table;}
          #cell {display:table-cell; vertical-align:middle;}

          優(yōu)點:
          content 可以動態(tài)改變高度(不需在 CSS 中定義)。當(dāng) wrapper 里沒有足夠空間時, content 不會被截斷

          缺點:
          Internet Explorer(甚至 IE8 beta)中無效,許多嵌套標(biāo)簽(其實沒那么糟糕,另一個專題)

          方法二:

          這個方法使用絕對定位的 div,把它的 top 設(shè)置為 50%,top margin 設(shè)置為負的 content 高度。這意味著對象必須在 CSS 中指定固定的高度。

          因為有固定高度,或許你想給 content 指定 overflow:auto,這樣如果 content 太多的話,就會出現(xiàn)滾動條,以免content 溢出。

          <div class="content">
          	Content goes here</div>
          #content {
          	position:absolute;
          	top:50%;
          	height:240px;
          	margin-top:-120px; /* negative half of the height */
          }

          優(yōu)點:
          適用于所有瀏覽器
          不需要嵌套標(biāo)簽

          缺點:
          沒有足夠空間時,content 會消失(類似div 在 body 內(nèi),當(dāng)用戶縮小瀏覽器窗口,滾動條不出現(xiàn)的情況)

          方法三

          這種方法,在 content 元素外插入一個 div。設(shè)置此 div height:50%; margin-bottom:-contentheight;。
          content 清除浮動,并顯示在中間。

          <div id="floater"></div>
          <div id="content">
          	Content here
          </div>
          #floater	{float:left; height:50%; margin-bottom:-120px;}
          #content	{clear:both; height:240px; position:relative;}

          優(yōu)點:
          適用于所有瀏覽器
          沒有足夠空間時(例如:窗口縮小) content 不會被截斷,滾動條出現(xiàn)

          缺點:
          唯一我能想到的就是需要額外的空元素了(也沒那么糟,又是另外一個話題)

          方法四

          這個方法使用了一個 position:absolute,有固定寬度和高度的 div。這個 div 被設(shè)置為 top:0; bottom:0;。但是因為它有固定高度,其實并不能和上下都間距為 0,因此 margin:auto; 會使它居中。使用 margin:auto;使塊級元素垂直居中是很簡單的。

          <div id="content">
          	Content here</div>
          #content {
          	position:absolute;
          	top:0;
          	bottom:0;
          	left:0;
          	right:0;
          	margin:auto;
          	height:240px;
          	width:70%;
          }

          優(yōu)點:
          簡單

          缺點:
          IE(IE8 beta)中無效
          無足夠空間時,content 被截斷,但是不會有滾動條出現(xiàn)

          方法五

          這個方法只能將單行文本置中。只需要簡單地把 line-height 設(shè)置為那個對象的 height 值就可以使文本居中了。

          <div id="content">
          	Content here</div>
          #content {height:100px; line-height:100px;}

          優(yōu)點:
          適用于所有瀏覽器
          無足夠空間時不會被截斷

          缺點:
          只對文本有效(塊級元素?zé)o效)
          多行時,斷詞比較糟糕

          這個方法在小元素上非常有用,例如使按鈕文本或者單行文本居中。

          哪個方法?

          我最喜歡的是方法三,缺點不多。因為 content 會清除浮動,所以可以在它上面放置別的元素,并且當(dāng)窗口縮放時,
          居中的 content 不會把另外的元素蓋住。看例子

          <div id="top">
          <h1>Title</h1>
          </div>
          <div id="content">
          	Content Here</div>
          #floater	{float:left; height:50%; margin-bottom:-120px;}
          #top		{float:right; width:100%; text-align:center;}
          #content	{clear:both; height:240px; position:relative;}

          現(xiàn)在你知道是怎么回事了,現(xiàn)在我們開始創(chuàng)建一個簡單但是有趣的網(wǎng)站。最終的樣子是這樣的:

          步驟一
          以語義化標(biāo)簽開始是很好的。下面是我們的頁面構(gòu)成:

          #floater/*把 content 置中*/
          #contred/*centre 盒*/
          #side
          #logo
          #nav/*無序列表*/
          #content
          #bottom/*放置版權(quán)等*/

          這是我用到的 xhtml 代碼:

          A Centred Company
          <div id="centered">
          <div id="side">
          <div id="logo">
          			<strong><span>A</span> Company</strong></div>
          <ul id="nav">
          	<li><a href="#">Home</a></li>
          	<li><a href="#">Products</a></li>
          	<li><a href="#">Blog</a></li>
          	<li><a href="#">Contact</a></li>
          	<li><a href="#">About</a></li>
          </ul>
          </div>
          <div id="content">
          <h1>Page Title</h1>
          Holisticly re-engineer value-added outsourcing after process-centric collaboration and idea-sharing.
          			Energistically simplify impactful niche markets via enabled imperatives.
          			Holisticly predominate premium innovation after compelling scenarios.
          			Seamlessly recaptiualize high standards in human capital with leading-edge manufactured products.
          			Distinctively syndicate standards compliant schemas before robust vortals.
          			Uniquely recaptiualize leveraged web-readiness vis-a-vis out-of-the-box information.
          <h2>Heading 2</h2>
          Efficiently embrace customized web-readiness rather than customer directed processes.
          			Assertively grow cross-platform imperatives vis-a-vis proactive technologies.
          			Conveniently empower multidisciplinary meta-services without enterprise-wide interfaces.
          			Conveniently streamline competitive strategic theme areas with focused e-markets.
          			Phosfluorescently syndicate world-class communities vis-a-vis value-added markets.
          			Appropriately reinvent holistic services before robust e-services.</div>
          </div>
          <div id="bottom">
          	Copyright notice goes here</div>

          步驟二:
          現(xiàn)在我們開始用一些基本的 CSS 來給頁面添加樣式。把以下代碼放入在我們的 html 頁面頂部被引入的 style.css。

          html, body {
          	margin:0; padding:0;
          	height:100%;
          }
           
          body {
          	background:url('page_bg.jpg') 50% 50% no-repeat #FC3;
          	font-family:Georgia, Times, serifs;
          }
           
          #floater {
          	position:relative; float:left;
          	height:50%;	margin-bottom:-200px;
          	width:1px;
          }
           
          #centered {
          	position:relative; clear:left;
          	height:400px; width:80%; max-width:800px; min-width:400px;
          	margin:0 auto;
          	background:#fff;
          	border:4px solid #666;
          }
           
          #bottom {
          	position:absolute;
          	bottom:0; right:0;
          }
           
          #nav {
          	position:absolute; left:0; top:0; bottom:0; right:70%;
          	padding:20px; margin:10px;
          }
           
          #content {
          	position:absolute; left:30%; right:0; top:0; bottom:0;
          	overflow:auto; height:340px;
          	padding:20px; margin:10px;
          }

          在我們能夠把 content 垂直居中之前, body 和 html 應(yīng)該被拉伸到 100% 的高度。由于 height
          在 padding 和 margin 之內(nèi),所以我們要把它們設(shè)成 0 以防止因為很小的 margin 出現(xiàn)滾動條。

          floater 的 margin-bottom 是 content 高度(400px)的一半, -200px。

          現(xiàn)在可以看到一下效果:

          #centred 的寬度為 80%。這可以市網(wǎng)頁隨著顯示器的大小而變化。一般稱作流體布局。設(shè)置 min-width 和
          max-width 以避免網(wǎng)頁過大或者過小。 但是 IE 不支持 min/max-width。顯然可以用固定寬度來代替。

          因為 #centred 是相對定位的,在它里面我們可以用絕對定位來定位元素。設(shè)置 #content 的 overflow:auto;
          以避免滾動條的出現(xiàn)。IE 不怎么喜歡 overflow:auto; 除非我們指定高度(不是 top 和 bottom 的定位,也不是 %)
          因此我們給它指定高度。

          步驟三
          最后要做的就是再添加點樣式,讓頁面好看點。從目錄開始吧。

          #nav ul {
          	list-style:none;
          	padding:0; margin:20px 0 0 0; text-indent:0;
          }
           
          #nav li {
          	padding:0; margin:3px;
          }
           
          #nav li a {
          	display:block; background-color:#e8e8e8;
          	padding:7px; margin:0;
          	text-decoration:none; color:#000;
          	border-bottom:1px solid #bbb;
          	text-align:right;
          }
           
          #nav li a::after {
          	content:'»'; color:#aaa; font-weight:bold;
          	display:inline; float:right;
          	margin:0 2px 0 5px;
          }
           
          #nav li a:hover, #nav li a:focus {
          	background:#f8f8f8;
          	border-bottom-color:#777;
          }
           
          #nav li a:hover::after {
          	margin:0 0 0 7px; color:#f93;
          }
           
          #nav li a:active {
          	padding:8px 7px 6px 7px;
          }

          需要注意的是 #centred 的圓角。 CSS3 中,應(yīng)該有 border-radius 屬性來設(shè)定圓角的半徑(可參考 CSS3之旅: border-radius(圓角) – 糖伴西紅柿)。現(xiàn)在的
          流行的瀏覽器都還不支持,除非用 -moz(Molilla Firefox) 或者 -webit(Safari/Webkit) 前綴.

          兼容性注意事項
          如你所想,IE 是唯一添麻煩的瀏覽器。
          #floater 必須指定寬度,否則在任意版本 IE 中,它都啥也不干
          IE 6 中目錄被周圍太多的空間打斷
          IE 8 有多余空間(作者遺漏)

          更多的想法
          利用居中的網(wǎng)頁可以做很多有意思的事情。我在重新設(shè)計 SWFObject Generator 2.0 (使用 SWFObject2.0 生成代碼)使用了這個想法。這里有另外的一個想法。

          資料
          以下是我參考的一些資料,推薦閱讀。

          Understanding vertical-align, or “How (Not) To Vertically Center Content”
          Vertical centering using CSS
          Vertical Centering in CSS

          糖伴西紅柿說:
          水平居中經(jīng)常用,其實垂直居中也很有用的。平時用的最多的應(yīng)該是方法五了,算是個小技巧吧。

          posted @ 2012-07-05 16:42 一堣而安 閱讀(239) | 評論 (0)編輯 收藏

          html文字滾動代碼

          來源:http://www.cnblogs.com/yangzhixiao/archive/2011/07/22/2113731.html

          代碼如下<MARQUEE>滾動文字</MARQUEE>

           

          <marquee style="WIDTH: 388px; HEIGHT:  200px" scrollamount="2" direction="up" >
          < div align="left" ><br />
          < /div >
          < center ><font face="黑體"  color="#008000" size="4" ></font ></center >
          < div align="left" ><br />
          < /div >
          < center >
          < p ><font color="#ff6600" size="4"  >滾動文字</font ></p >
          < p ><font color="#ff4500" size="4"  >滾動文字</font ></p >
          < p ><font color="#ff3300" size="4"  >滾動文字</font ><br />
          < br />
          < /p >
          < /marquee >

           


          marquee 參數(shù):
          BGColor:滾動文本框的背景顏色。
          Direction:滾動方向設(shè)置,可選擇Left、Right、up和down。
          scrolldelay:每輪滾動之間的延遲時間,越大越慢。
          scrollamount:一次滾動總的時間量,數(shù)字越小滾動越慢。
          Behaviour:滾動的方式設(shè)置,三種取值:Scroll(循環(huán)滾動)  lide(單次滾動)、Alternate(來回滾動)。
          Align:文字的對齊方式設(shè)置。可選擇Middle(居中)、Bottom(居下)還是Top(居上)。
          Width:滾動文本框的寬度,輸入一個數(shù)值后從后面的單選框選擇in  Pixels(按像素)或是in Percent(按百分比)。
          Height:滾動文本框的高度,輸入一個數(shù)值后從后面的單選框選擇in  Pixels(按像素)或是in Percent(按百分比)。
          loop:滾動次數(shù)。默認為infinite
          hspace、vspace:前后、上下的空行。

           

                 滾動字幕會讓很多人感到興奮,特別是第一次使用滾動字幕時,會愛不釋手。滾動字幕我也做得不少了,對它也不會興奮了,所以現(xiàn)在也用得不多了。有不少朋友常 問到這是怎么做的,現(xiàn)在做一個詳細的專題,讓你更全面地了解一下。
          滾動字幕在FrontPage的組件里有,但是FrontPage這個軟件只能支持單行文字,一出現(xiàn)多行文字它就無能為力了,而且它只能支持一行滾動! (如果出現(xiàn)只能滾動一行的情況,解決辦法是把這段代碼嵌入到JavaScript的document.write里面,請看下面例d的詳細說  明)Dreamweaver也只能用編寫HTML代碼的方法。所以強烈建議用記事本打開網(wǎng)頁源代碼來編輯。

           

          1.建立第一個滾動字幕。代碼:
          <marquee scrollAmount=2  width=300>靚麗風(fēng)景線</marquee>
          效果如: 靚麗風(fēng)景線

           

          2.各參數(shù)詳解:
          a)scrollAmount。它表示速度,值越大速度越快。如果沒有它,默認為6,建議設(shè)為1~3比較好。
          b)width和height,表示滾動區(qū)域的大小,width是寬度,height是高度。特別是在做垂直滾動的時候,一定要設(shè)height的值。
          c)direction。表示滾動的方向,默認為從右向左:←←←。可選的值有right、down、up。滾動方向分別為:right表示→→→,up 表示↑,down表示↓。
          d)scrollDelay,這也是用來控制速度的,默認為90,值越大,速度越慢。通常scrollDelay是不需要設(shè)置的。
          e)behavior。用它來控制屬性,默認為循環(huán)滾動,可選的值有alternate(交替滾動)、slide(幻燈片效果,指的是滾動一次,然后停止 滾動)

           

          3.實例:
          a)如何給滾動字幕加超鏈接?這跟平時的超鏈接是完全一樣的。只要在文字外面加上<a   href=***>和</a>就可以了。如下效果,代碼是<marquee scrollAmount=2   width=300><a   href=http://www.cctv.com>中央電視臺</a></marquee>,點擊中央電視臺就可以進入 了:
          中央電視臺

           

          b)如何制作當(dāng)鼠標(biāo)停留在文字上,文字停止?jié)L動?
          代碼如:
          <marquee scrollAmount=2 width=300  onmouseover=stop() onmouseout=start()>文字內(nèi)容</marquee>
          效果如:
          文字內(nèi)容

           

          c)交替效果。代碼如:
          <marquee scrollAmount=2 width=99  behavior=alternate>文字內(nèi)容</marquee>
          效果如:
          文字內(nèi)容

           

          d)多行文本向上滾動。代碼如:
          <marquee scrollAmount=2 width=300 height=160   direction=up>·早晨好啊!<br>·空氣好清新啊<br>·你還好嗎<p>·<a   href=http://www.cctv.com>靚麗風(fēng)景線</a></marquee>
          效果如:
          ·早晨好啊!
          ·空氣好清新啊
          ·你還好嗎
          ·靚麗風(fēng)景線

           

          ·注意:如果你的網(wǎng)頁經(jīng)過了FrontPage編輯,保存之后,只能滾動一行,這時候你發(fā)現(xiàn)你原 來的代碼順序已經(jīng)變了,My  god!解決的辦法是,找出原來的代碼,把它嵌入到JavaScript的document.write中即可,上述代碼寫為:
          <script>document.write('<marquee  scrollAmount=2 width=300  height=160  direction=up>·早晨好啊!<br>·空氣好清新啊<br>·你還好嗎 <p>·<a   href=http://www.cctv.com>靚麗風(fēng)景線</a></marquee>')<  /script>

           

          e)改變滾動字幕的顏色?可以用樣式表來控制。如下效果,代碼是<marquee  scrollAmount=2  width=300><a   style=color:CC6600>你還好嗎</a></marquee>。
          你還好嗎

           

          圖片滾動
          用<img  src=相對路徑/文件名>的語句。并且要注意圖片名不要中文,要注意區(qū)分英文大小寫。

           

          圖片做超鏈接
          用<a   href=>和</a>把<img>包圍,并且img必須設(shè)border=0,否則圖片會出現(xiàn)藍框。正確的例子如:&amp; lt;a href=http://www.webshu.com><img src=http://www.cnblogs.com/j/01.jpg   border=0></a>
          其中a  href=表示超鏈接,這是最常用的。練習(xí)的方法也很簡單,就是平時用FP或DW做網(wǎng)頁的時候,要多查看源代碼。

           

          多張圖片排列滾動
          通常圖片和圖片之間用<br>(回行)或<p  style=margin-top:9>(精確調(diào)整圖片間的距離)來鏈接。也可以把你的圖片先用表格排版,然后把這個表格的所有語句也加入到 marquee中,讓這個表格來滾動。 

           

          代碼<script>document.write('<marquee  scrollAmount=2 width=340 height=160 direction=up onmouseover=stop()  onmouseout=start()><a href=http://www.webshu.com><img  src=http://www.cnblogs.com/j/01.jpg   border=0></a></marquee>')</script>

          posted @ 2012-07-05 11:52 一堣而安 閱讀(496) | 評論 (0)編輯 收藏

          后臺json傳遞

          來源:http://www.aygfsteel.com/jlins-you/archive/2012/06/22/381292.html


          json除了可以用于前臺傳遞,還可用于后臺之間傳遞。它可以傳遞List,Map,Bean等類型的數(shù)據(jù)。


          例如: User u1=new User();


          u1.setUsername("zy");
          u1.setPassword("123");
          User
          u2=new
          User();
          u2.setUsername("msl");
          u2.setPassword("456");
          List list =
          new ArrayList(); //把兩個對象放進list中
          list.add(u1);
          list.add(u2);


          JSONArray jsonArray = JSONArray.fromObject( list ); //把list放進json數(shù)組
          Map map = new HashMap();
          map.put("message", "111");

          map.put("users", jsonArray); //把json數(shù)組做為一個值放進Map中
          JSONObject jsonObject =
          JSONObject.fromObject(map); //把map放進json對象中
          PrintWriter out =
          response.getWriter();
          out.print(jsonObject); //
          傳遞json


          傳遞的json格式為:
          {"message":"111","users":[{"password":"123","username":"zy"},{"password":"456","username":"msl"}]}




          在接收端的java文件中取:



          returnJson是從輸入流中得到的json格式的字符串。輸出為:


          {"message":"111","users":[{"password":"123","username":"zy"},
          {"password":"456","username":"msl"}]}



          if(returnJson !=null&& returnJson !=""){



          String
          strJson = returnJson.replace("?(", "").replace(")", "").replace(";",
          "");

          if(strJson.startsWith("{")){

          JSONObject
          jsonObject = JSONObject.fromObject(strJson);
          JSONArray jsonArray =
          JSONArray.fromObject(jsonObject.get("users"));

          for (int i =
          0, len = jsonArray.size(); i < len; i++) {

          JSONObject jsonUser =
          jsonArray.getJSONObject(i);
          User vo = (User)JSONObject.toBean(jsonUser,
          User.class);
          System.out.println(vo.getUsername()+":"+vo.getPassword());
          }

          }

          }



          更多信息請查看 java進階網(wǎng)http://www.javady.com

          posted @ 2012-06-29 19:54 一堣而安 閱讀(163) | 評論 (0)編輯 收藏

          jquery動態(tài)添加刪除div--事件綁定,對象克隆

          來源 :http://blog.csdn.net/guanghua2009/article/details/6644272

           我想做一個可以動態(tài)添加刪除div的功能。中間遇到一個問題,最后在phpchina問答區(qū)版主的熱心幫助下解答了(答案在最后)        使用到的jquery方法和思想就是:事件的綁定和銷毀(unbind),另外還可以使用clone,通過克隆可以很好的解決這個問題          相關(guān)描述如下

          功能:點擊增加,自動添加一個iptdiv 點擊 iptdiv后的 X 自動刪除當(dāng)前div

          問題:默認存在的(也就是頁面加載進來的)的那個iptdiv 后的 X 點擊有效,可以刪除當(dāng)前 iptdiv  但是 jquery 動態(tài)添加進的 iptdiv 則點擊沒有效果。請各位大俠給看看,提供些意見。我要的就是動態(tài)添加和刪除div 問題代碼如下: 
          <script type="text/javascript" src="jquery.js"></script>
          <body>
          <form action="" method="post" enctype="multipart/form-data">
          <label>請選擇上傳的圖片</label>
          <a href="javascript:addimg()" >增加圖片</a>
          <div id="mdiv">
          <div >
          <input type="file" name="img[]" /><a href="#" name="rmlink">X</a>
          </div>
          </div>
          <input type="submit" name="submit" value="上傳圖片" />
          </form>
          <script type="text/javascript" >
          $(document).ready(function(){
          $("a[name=rmlink]").click(function(){
          $(this).parent().remove();
          })
          })
          function addimg(){
          $("#mdiv").append('<div ><input type="file" name="img[]" /><a href="#" name="rmlink">X</a></div>');
          }
          </script>
           

          用jquery方法的綁定偵聽和銷毀來解決動態(tài)div的增加刪除:

          正確代碼:
          <script type="text/javascript" >
          $(document).ready(function(){
           bindListener();
          })
          
          function addimg(){
           $("#mdiv").append('<div ><input type="file" name="img[]" /><a href="#" name="rmlink">X</a></div>');
          
           // 為新元素節(jié)點添加事件偵聽器
            bindListener();
          }
          
          // 用來綁定事件(使用unbind避免重復(fù)綁定)
          function bindListener(){
           $("a[name=rmlink]").unbind().click(function(){
            $(this).parent().remove();
              })
          }
          </script>
          
          這中間就是存在一個事件綁定的過程,如果沒有的話通過js加進來的div內(nèi)不事件并不會被執(zhí)行,添加了偵聽事件功能后才能正確運行
           

          用jquery的clone方法來解決動態(tài)div的增加刪除:

          這里還有更好的寫法,我做了些許的修改,也許弄巧成拙了。但是功能實現(xiàn)了,更多的請參考phpchina論壇的幫助:http://bbs.phpchina.com/viewthread.php?tid=180911&extra=&page=1

          <body>
          <div style="display:none;">
          <!--clone div start-->
              <div >
                  <input type="file" name="img[]" /><a href="#" name="rmlink">X</a>
              </div>
          </div>
          <!--clone div end-->
          <form action="dowater.php" method="post" enctype="multipart/form-data">
          <label>請選擇上傳的圖片</label>
          <a href="#" id="addimg" >增加圖片</a>
          <div id="mdiv">
              <div >
              <input type="file" name="img[]" /><a href="#" name="rmlink">X</a>
              </div>
          </div>
          <input type="submit" name="submit" value="上傳圖片"  />
          </form>
          <script type="text/javascript" >
          var temp; 
          $(document).ready(function(){        
           temp = $(".iptdiv:first");
           $("a[name=rmlink]").click(function(){
            $(this).parent().remove();
              })
           $("#addimg").click(function(){
            temp.clone(true).appendTo($("#mdiv"));
           })
          })
          </script>
          </body>

          posted @ 2012-06-29 19:53 一堣而安 閱讀(3999) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共17頁: First 上一頁 9 10 11 12 13 14 15 16 17 下一頁 

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宁强县| 勐海县| 瑞丽市| 始兴县| 敦化市| 甘肃省| 清水河县| 遂川县| 阳朔县| 姜堰市| 麻栗坡县| 徐州市| 全南县| 开封县| 汤阴县| 连平县| 平昌县| 福贡县| 舞钢市| 桐柏县| 华安县| 巴林右旗| 兴海县| 涞源县| 扶风县| 潍坊市| 永兴县| 珲春市| 眉山市| 来安县| 和静县| 来宾市| 安泽县| 沈丘县| 彩票| 辽源市| 西昌市| 乌恰县| 台北县| 二连浩特市| 修文县|