明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

對于打印頁面的一些經(jīng)驗(yàn)

[摘要]大家經(jīng)常遇到再ie中打印表格時需要隱藏一些不需要打印的對象,比如說按鈕,輸入框,或者希望莫個表格顯示的時候表格線是由顏色的,而打印的時候只需要有粗細(xì)之分,其實(shí)在css中可以設(shè)定在打印或者顯示的不同樣式,最近作了一個應(yīng)用(實(shí)屬逼上梁山),可以得到以上效果,下面是我的樣式表。。。。<style ...
大家經(jīng)常遇到再ie中打印表格時需要隱藏一些不需要打印的對象,比如說按鈕,輸入框,或者希望莫個表格顯示的時候表格線是由顏色的,而打印的時候只需要有粗細(xì)之分,其實(shí)在css中可以設(shè)定在打印或者顯示的不同樣式,最近作了一個應(yīng)用(實(shí)屬逼上梁山),可以得到以上效果,下面是我的樣式表。。。。
<style type="text/css" media=print>  主要是media選項(xiàng)對照下面的那一個style一起看
.noprint{visibility:hidden}
        span.double {BORDER-BOTTOM-STYLE: double; BORDER-LEFT-STYLE: double;
        BORDER-RIGHT-STYLE: double; BORDER-TOP-STYLE: double; COLOR: mediumblue;
        CURSOR: hand; FONT-SIZE: 12pt; HEIGHT: 22px; LEFT: 314px; TEXT-ALIGN: center;
        WIDTH: 96px}
        select.sb{Z-INDEX: 121; LEFT:0px;WIDTH: 90px; POSITION: absolute;
        HEIGHT: 170px}
        span.tab{LEFT:40px;WIDTH: 900px; POSITION: relative; TOP: 0px; HEIGHT: 225px}
        table{BORDER-RIGHT: black medium inset; BORDER-TOP: black medium inset; BORDER-LEFT: black medium inset; WIDTH: 900px; BORDER-BOTTOM: black medium inset; HEIGHT: 31px;POSITION: absolute}
        tr.col0{BORDER-RIGHT: thick inset; BORDER-TOP: thick inset; FONT-WEIGHT: bold; FONT-SIZE: 15px; BORDER-LEFT: thick inset; BORDER-BOTTOM: 10px ; FONT-FAMILY: 宋體; BACKGROUND-COLOR: blue; TEXT-ALIGN: center}
        tr.tr1{}
        td.td0{WIDTH: 120px; TEXT-ALIGN: center;height:30px;}
        td.td1{WIDTH: 330px; TEXT-ALIGN: right}
        td.td2{WIDTH: 70px;TEXT-ALIGN: right}
        td.td3{WIDTH: 330px;TEXT-ALIGN: right}
</style>

<style media=screen>主要是media選項(xiàng)對照上面的那一個style一起看
        span.double {BORDER-BOTTOM-STYLE: double; BORDER-LEFT-STYLE: double; BORDER-RIGHT-STYLE: double; BORDER-TOP-STYLE: double; COLOR: mediumblue;
        CURSOR: hand; FONT-SIZE: 12pt; HEIGHT: 22px; LEFT: 314px; TEXT-ALIGN: center;
        WIDTH: 96px}
        select.sb{Z-INDEX: 121; LEFT:0px;WIDTH: 90px; POSITION: absolute;
        HEIGHT: 170px}
        span.tab{LEFT:154px;WIDTH: 900px; POSITION: relative; TOP: 30px; HEIGHT: 225px}
        table{BORDER-RIGHT: blue groove; BORDER-TOP: blue groove; BORDER-LEFT: blue groove; WIDTH: 900px; BORDER-BOTTOM: blue groove; POSITION: absolute}
        tr.col0{BORDER-RIGHT: red thick inset; BORDER-TOP: red thick inset; FONT-WEIGHT: bold; FONT-SIZE: 15px; BORDER-LEFT: red thick inset; COLOR: white; BORDER-BOTTOM: yellow 10px solid; FONT-FAMILY: 宋體; BACKGROUND-COLOR: blue; TEXT-ALIGN: center}
        tr.tr1{BORDER-BOTTOM: fuchsia inset}
        td.td0{WIDTH: 120px; BORDER-LEFT-STYLE: none; TEXT-ALIGN: center;BORDER-BOTTOM-STYLE: none}
        td.td1{WIDTH: 330px;BORDER-LEFT: blue thin solid; TEXT-ALIGN: right}
        td.td2{WIDTH: 70px;BORDER-TOP-STYLE: inset; BORDER-RIGHT-STYLE: inset; BORDER-LEFT-STYLE: inset; TEXT-ALIGN: right; BORDER-BOTTOM-STYLE: inset}
        td.td3{WIDTH: 330px;BORDER-TOP-STYLE: inset; BORDER-RIGHT-STYLE: inset; BORDER-LEFT-STYLE: inset; TEXT-ALIGN: right; BORDER-BOTTOM-STYLE: inset}
        td.td5{TEXT-ALIGN: right}
</style>
大家仔細(xì)看一下其實(shí)只要建立2個style而么個style指向不同的設(shè)備,但是在style中使用相同的id,這樣再在需要打印和顯示是需要不同的樣式的對象中引用同一個id號(比如說<td class=td3>。。。。。。</td>)但是有一個重要問題時仔細(xì)看我在打印是設(shè)定不打印是通過設(shè)定“visibility:hidden”來實(shí)現(xiàn)的,但是我在實(shí)際應(yīng)用中發(fā)現(xiàn)如果在腳本代碼中使用了“obj.style.visibility=visible”也就是對莫個對象的visibility進(jìn)行了操作這時候咋打印的時候也會顯示出來,也就是說腳本代碼的操作對不同的設(shè)備同時有效(但是我想應(yīng)該有辦法對某一個設(shè)備準(zhǔn)向指定的但是找了半天沒發(fā)現(xiàn),也可能是css還沒有完善)我最后通過了另一個style屬性display了實(shí)現(xiàn)了,也就是說在腳本代碼中用obj.style.diaplay="block"或者"none"來實(shí)現(xiàn)對象的顯示這樣就不影響打印功能的實(shí)現(xiàn)了。
但是總的來說ie的打印還是不完善比如說無法實(shí)現(xiàn)分頁大量的打印數(shù)據(jù),但是在visual .net中我發(fā)現(xiàn)微軟加入了crystal的報(bào)表功能我估計(jì)應(yīng)該可以實(shí)現(xiàn)了,但是還沒有應(yīng)用過,以后有機(jī)會在向大家匯報(bào)。