Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
融界2024年2月27日消息,據(jù)國(guó)家知識(shí)產(chǎn)權(quán)局公告,中國(guó)農(nóng)業(yè)銀行股份有限公司申請(qǐng)一項(xiàng)名為“一種WPF用戶界面框架生成HTML界面的方法及裝置“,公開(kāi)號(hào)CN117608657A,申請(qǐng)日期為2023年11月。
專(zhuān)利摘要顯示,本申請(qǐng)?zhí)峁┝艘环NWPF用戶界面框架生成HTML界面的方法及裝置,在執(zhí)行所述方法時(shí),獲取目標(biāo)XAML文件的目標(biāo)控件參數(shù),所述目標(biāo)控件參數(shù)包括:控件屬性信息以及控件坐標(biāo)信息;基于預(yù)先配置的WPF控件與HTML標(biāo)簽的映射關(guān)系,將所述控件屬性信息轉(zhuǎn)換為標(biāo)簽屬性信息;基于所述控件坐標(biāo)信息以及所述標(biāo)簽屬性信息生成HTML界面。本申請(qǐng)實(shí)施例基于預(yù)先配置的WPF的控件和HTML標(biāo)簽屬性的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)將WPF控件轉(zhuǎn)換為HTML標(biāo)簽屬性,并通過(guò)控件的坐標(biāo)信息來(lái)生成對(duì)應(yīng)的HTML界面,減少代碼重構(gòu)工作量,提高代碼遷移效率。
本文源自金融界
如果網(wǎng)頁(yè)只有一種顏色,那是非常可怕的,顏色的設(shè)置豐富了網(wǎng)頁(yè),就如同多彩繽紛的世界。
在了解css顏色之前,我們回顧下計(jì)算機(jī)是如何顯示顏色的?計(jì)算機(jī)根據(jù)色光三原色的原理通過(guò)各種算法來(lái)顯示顏色。
網(wǎng)頁(yè)中使用顏色關(guān)鍵字、16進(jìn)制字符、rgb、rgba等表示紅,綠,藍(lán)三種顏色混合色,如下示例,幾種寫(xiě)法都是指同一個(gè)顏色(紅色):
color:red;
color: #ff0000;
color: rgb(255,0,0)
color: rgba(255,0,0,1)
對(duì)于16進(jìn)制形式,每2位表示一個(gè)顏色,從左到右分別是紅、綠、藍(lán),每種顏色取值從00 到 FF。
如下示例:
color: #000000; /*黑色*/
color: #ffffff; /*白色*/
color: #ff0000; /*紅色*/
color: #00ff00; /*綠色*/
color: #0000ff; /*藍(lán)色*/
對(duì)于rgb的表示法,由三個(gè)參數(shù)組成,分別是紅、綠、藍(lán),每種顏色取值從0 到 255。
如下示例:
color: rgb(0,0,0); /*黑色*/
color: rgb(255,255,255); /*白色*/
color: rgb(255,0,0); /*紅色*/
color: rgb(0,255,0); /*綠色*/
color: rgb(0,0,255); /*藍(lán)色*/
紅,綠,藍(lán)值從0到255的結(jié)合,給出了總額超過(guò)1600多萬(wàn)不同的顏色(256 × 256 ×256)。
但是現(xiàn)代大多數(shù)顯示器能夠顯示至少16384種顏色。所以在使用顏色時(shí)要格外注意,避免設(shè)置不能夠顯示的顏色,可以參考網(wǎng)頁(yè)安全色:https://www.w3school.com.cn/cssref/css_colors.asp。
顏色除了有三原色紅綠藍(lán)組成,還有亮度層級(jí),如下圖:
rgba 中的a是指透明度,這個(gè)是css3新增加的屬性,通過(guò)rgba可以設(shè)置更加漂亮的顏色。
通過(guò)background屬性可以設(shè)置元素的背景色、背景圖片,語(yǔ)法如下:
background:bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit;
background 在一個(gè)聲明中設(shè)置所有的背景屬性,可以在這里設(shè)置如下屬性:
各值之間用空格分隔,不分先后順序。可以只有其中的某些值,例如 background:#FF0000 url(img.png)是允許的,但至少有一個(gè)值。
建議使用background 簡(jiǎn)寫(xiě)屬性,這樣可以更好地兼容較老的瀏覽器,少寫(xiě)很多代碼,當(dāng)然你也可以分開(kāi)使用,比如:
background-color: #ff0000;
background-image: url(img.png);
background-repeat: no-repeat;
background-size: 100% auto;
1、背景顏色 —— background-color
background-color 和之前講的的color 一樣,可以使用16進(jìn)制、rgb、rgba等設(shè)置顏色。如下實(shí)例:
<html>
<head>
<style type="text/css">
body {background-color: yellow}
h1 {background-color: #00ff00}
h2 {background-color: transparent}
p {background-color: rgb(250,0,255)}
p.no2 {background-color: gray; padding: 20px;}
</style>
</head>
<body>
<h1>背景色1</h1>
<h2>背景色2</h2>
<p>背景色3</p>
<p class="no2">背景色4</p>
</body>
</html>
如下圖顯示:
注意:background-color: transparent; 指透明色,不顯示任何顏色。
2、背景圖片的使用——background-image
給html元素添加背景圖片,在早期網(wǎng)頁(yè)制作中被廣泛應(yīng)用,如今已不建議大量使用。如下實(shí)例:
body {background-image:url(/static/bg.gif);}
這里使用了一個(gè)125*125大小的圖片,如下:
但是你會(huì)發(fā)現(xiàn),整個(gè)網(wǎng)頁(yè)鋪滿了圖片,上面的代碼默認(rèn)會(huì)鋪滿整個(gè)頁(yè)面從左到右,從上到下 。如果不想被平鋪,可以使用background-repeat 設(shè)置。
背景圖片同時(shí)可以設(shè)置多個(gè)背景圖片,如下:
background-image: url(/statics/bg1.gif), url(/statics/bg2.gif);
多個(gè)圖像以逗號(hào)隔開(kāi),在頁(yè)面中多個(gè)圖片會(huì)疊加顯示,第一張圖片顯示在最頂端。
如下效果:
3、背景重復(fù)方式 —— background-repeat
它有如下幾個(gè)屬性:
repeat | 默認(rèn)。背景圖像將在垂直方向和水平方向重復(fù)。 |
repeat-x | 背景圖像將在水平方向重復(fù)。 |
repeat-y | 背景圖像將在垂直方向重復(fù)。 |
no-repeat | 背景圖像不重復(fù)。 |
inherit | 從父元素繼承 background-repeat 屬性的設(shè)置。 |
實(shí)例如下:
4、背景圖的位置 —— background-position
背景圖片默認(rèn)顯示在左上角,語(yǔ)法如下:
background-position: x y; // x 距離左邊距離,y距離頂部距離
如果要改變它的位置,可以使用關(guān)鍵字:top、bottom、left、right 和 center;或者使用長(zhǎng)度值,如 100px 或 5cm;也可以使用百分?jǐn)?shù)值。
x 可以取值 百分比| 數(shù)值| left | center | right。
y 可以取值 百分比| 數(shù)值| top| center | bottom。
當(dāng)只設(shè)置一個(gè)值的時(shí)候,另一個(gè)會(huì)缺省為 center。
使用關(guān)鍵字,將背景圖片水平居中,垂直居中:
background-image:url('/statics/images/course/smiley.gif');
background-repeat:no-repeat;
background-attachment:fixed;
background-position:center;
使用百分比%:
background-image:url('/statics/images/course/smiley.gif');
background-repeat:no-repeat;
background-attachment:fixed;
background-position: 50% 50%;
50% 50% 等同于 center center,顯示效果和上圖一樣。
還可以使用具體數(shù)值,比如 px、em、cm等。
background-image:url('/statics/images/course/smiley.gif');
background-repeat:no-repeat;
background-attachment:fixed;
background-position: 50px 50px;
顯示效果如下:
5、背景圖相對(duì)于容器的基準(zhǔn)點(diǎn) —— background-origin
就是設(shè)置背景圖片相對(duì)于html元素什么位置作為初始坐標(biāo)點(diǎn),語(yǔ)法:
background-origin: padding-box|border-box|content-box;
幾種值得含義:
padding-box | 背景圖像相對(duì)填充框的位置 |
border-box | 背景圖像相對(duì)邊界框的位置 |
content-box | 背景圖像相對(duì)內(nèi)容框的位置 |
如下實(shí)例:
6、背景圖片大小 —— background-size
默認(rèn)會(huì)顯示背景圖原始尺寸,可以通過(guò)此屬性設(shè)置背景圖片在元素上的大小,語(yǔ)法:
background-size: width height;
寬度和高度可以使用 數(shù)值、百分比%、cover 及 contain ;
數(shù)值:可以使用任何單位的數(shù)字,比如 px、em、cm等。如果設(shè)置一個(gè)值,第二個(gè)為"auto(自動(dòng))"。
百分比%:相對(duì)于其所在html原始寬度和高度,如果設(shè)置一個(gè)值,第二個(gè)為"auto(自動(dòng))"。
cover:把背景圖像擴(kuò)展至足夠大,以使背景圖像完全覆蓋背景區(qū)域。背景圖像的某些部分也許無(wú)法顯示在背景定位區(qū)域中。
contain:把背景圖像擴(kuò)展至最大尺寸,以使其寬度和高度完全適應(yīng)內(nèi)容區(qū)域。
如下示例:
7、背景圖像是否固定或者隨著頁(yè)面的其余部分滾動(dòng)
background-attachment 屬性有以下幾個(gè)值:
scroll | 背景圖片隨頁(yè)面的其余部分滾動(dòng)。這是默認(rèn) |
fixed | 背景圖像是固定的 |
inherit | 指定background-attachment的設(shè)置應(yīng)該從父元素繼承 |
local | 背景圖片隨滾動(dòng)元素滾動(dòng) |
如設(shè)置一個(gè)固定的背景圖片,不跟隨頁(yè)面滾動(dòng):
background-attachment:fixed;
滾動(dòng)滾動(dòng)條,會(huì)發(fā)下背景圖片始終固定在屏幕那個(gè)位置。
8、背景繪制區(qū)域 —— background-clip
語(yǔ)法如下:
background-clip: border-box|padding-box|content-box;
border-box | 默認(rèn)值。背景繪制在邊框方框內(nèi)(剪切成邊框方框)。 |
padding-box | 背景繪制在襯距方框內(nèi)(剪切成襯距方框)。 |
content-box | 背景繪制在內(nèi)容方框內(nèi)(剪切成內(nèi)容方框)。 |
這個(gè)屬性類(lèi)似于 background-origin ,只不過(guò)它會(huì)裁剪背景圖片,如下示例:
9、背景層的混合模式 —— background-blend-mode
所謂混合模式就是將圖片與顏色或圖片與圖片進(jìn)行混合,語(yǔ)法:
background-blend-mode: normal|multiply|screen|overlay|darken|lighten|color-dodge|saturation|color|luminosity;
屬性值:
示例如下:
正常模式
luminosity 亮度模式
color 顏色模式
其它模式可以自己試試,看下有什么區(qū)別。
到此,我們了解了顏色和背景的使用方法,尤其是背景的使用,由于它的屬性很多,可以簡(jiǎn)寫(xiě)也可以分開(kāi)寫(xiě),要想完全掌握,還得多練習(xí),每種屬性進(jìn)行組合使用看看其效果。
一般建議使用 background 簡(jiǎn)寫(xiě)方式,主要是可以少寫(xiě)很多代碼。以上介紹難免有誤,或不齊全,歡迎指出錯(cuò)誤,并補(bǔ)充。
上篇:前端入門(mén)——css鏈接樣式
明:SVG 雖然也是標(biāo)簽,但它不是 HTML5,標(biāo)題加了 HTML5 只是為了與 canvas 放到一起。
SVG 意為可縮放矢量圖形(Scalable Vector Graphics),使用 XML 格式定義矢量圖形。其他的圖像格式都是基于像素的,但是 SVG 沒(méi)有單位的概念,它的20只是表示1的20倍,所以 SVG 繪制的圖形放大或縮小都不會(huì)失真。
與其他圖像比較,SVG 的優(yōu)勢(shì)有以下幾點(diǎn):
2.1、svg 標(biāo)簽
SVG 的代碼都放到 svg 標(biāo)簽?zāi)兀琒VG 中的標(biāo)簽都是閉合標(biāo)簽,與html中標(biāo)簽用法一致。svg的屬性有:
eg:畫(huà)一條直線,完整代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body style="height:600px;">
<svg width="300" height="300">
<line x1="0" y1="0" x2="100" y2="100" stroke="black" stroke-width="20"></line>
</svg>
</body>
</html>
上述 svg 設(shè)置的寬高沒(méi)有帶單位,此時(shí)默認(rèn)是像素值,如果需要添加單位時(shí),除了絕對(duì)單位,也可以設(shè)置相對(duì)單位。
使用語(yǔ)法:<svg viewBox=" x1,y1,width,height "></svg>
四個(gè)參數(shù)分別是左上角的橫縱坐標(biāo)、視口的寬高。表示只看SVG的某一部分,由上述四個(gè)參數(shù)決定。
使用 viewBox 之后,相當(dāng)于svg整體大小不變,只能看到 viewBox 設(shè)置部分,視覺(jué)上被放大。
2.2、SVG 如何嵌入 HTML
SVG 的代碼可以直接嵌入到 html 頁(yè)面中,也可以通過(guò) html 的embed、object、iframe嵌入到html中。嵌入的時(shí)候嵌入的是 SVG 文件,SVG 文件必須使用 .svg 后綴。分別介紹各種方法如何使用?
2.2.1、embed 嵌入:
使用語(yǔ)法:<embed src="line.svg" type="image/svg+xml"></embed>
src是SVG文件路徑,type 表示 embed 引入文件類(lèi)型。
優(yōu)點(diǎn):所有瀏覽器都支持,并允許使用腳本。
缺點(diǎn):不推薦 html4 和 html 中使用,但 html5 支持。
2.2.2、object 嵌入:
使用語(yǔ)法:<object data="line.svg" type="image/svg+xml"></object>
data 是 SVG 文件路徑,type 表示 object 引入文件類(lèi)型。
優(yōu)點(diǎn):所有瀏覽器都支持,支持 html、html4 和 html5。
缺點(diǎn):不允許使用腳本。
2.2.3、iframe 嵌入:
使用語(yǔ)法:<iframe width="300" height="300" src="./line.svg" frameborder="0"></iframe>
src是 SVG 文件路徑,width、height、frameborder 設(shè)置的大小和邊框。
優(yōu)點(diǎn):所有瀏覽器都支持,并允許使用腳本。
缺點(diǎn):不推薦 html4 和 html 中使用,但 html5 支持。
2.2.4、html中嵌入:
svg 標(biāo)簽直接插入 html 內(nèi)容內(nèi),與其他標(biāo)簽用法一致。
2.2.5、連接到svg文件:
使用 a 標(biāo)簽,直接鏈接到 SVG 文件。
使用語(yǔ)法:<a href="line.svg">查看SVG</a>
3.1、線 - line
使用語(yǔ)法:
<svg width="300" height="300" >
<line x1="0" y1="0" x2="300" y2="300" stroke="black" stroke-width="20"></line>
</svg>
使用line標(biāo)簽創(chuàng)建線條,(x1,y1)是起點(diǎn),(x2,y2)是終點(diǎn),stroke繪制黑線,stroke-width是線寬。
3.2、矩形 - rect
//使用語(yǔ)法:
<svg width="300" height="300" >
<rect
width="100" height="100" //大小設(shè)置
x="50" y="50" //可選 左上角位置,svg的左上角默認(rèn)(0,0)
rx="20" ry="50" //可選 設(shè)置圓角
stroke-width="3" stroke="red" fill="pink" //繪制樣式控制
></rect>
</svg>
上述參數(shù) width、height是必填參數(shù),x、y是可選參數(shù),如不設(shè)置的時(shí)候,默認(rèn)為(0,0),也就是svg的左上角開(kāi)始繪制。rx、ry是可選參數(shù),不設(shè)置是矩形沒(méi)有圓角。fill定義填充顏色。
3.3、圓形 - circle
// 使用語(yǔ)法
<svg width="300" height="300" >
<circle
cx="100" cy="50" // 定義圓心 ,可選
r="40" // 圓的半徑
stroke="black" stroke-width="2" fill="red"/> //繪制黑框填充紅色
</svg>
上述(cx,xy)定義圓心的位置,是可選參數(shù),如果不設(shè)置默認(rèn)圓心是(0,0)。r是必需參數(shù),設(shè)置圓的半徑。
3.4、橢圓 - ellipse
橢圓與圓相似,不同之處在于橢圓有不同的x和y半徑,而圓兩個(gè)半徑是相同的。
// 使用語(yǔ)法
<svg width="300" height="300" >
<ellipse
rx="20" ry="100" //設(shè)置橢圓的x、y方向的半徑
fill="purple" // 橢圓填充色
cx="150" cy="150" //設(shè)置橢圓的圓心 ,可選參數(shù)
></ellipse>
</svg>
上述橢圓的兩個(gè)rx、ry兩個(gè)方向半徑是必須參數(shù),如果rx=ry就表示是圓形,(cx,cy)是橢圓的圓心,是可選參數(shù),如果不設(shè)置,則默認(rèn)圓心為(0,0)。
3.5、折線 - polyline
// 使用語(yǔ)法
<svg width="300" height="300" style="border:solid 1px red;">
<!-- 繪制出一個(gè)默認(rèn)填充黑色的三角形 -->
<polyline
points=" //點(diǎn)的集合
0 ,0, // 第一個(gè)點(diǎn)坐標(biāo)
100,100, // 第二個(gè)點(diǎn)坐標(biāo)
100,200 // 第三個(gè)點(diǎn)坐標(biāo)
"
stroke="green"
></polyline>
<!-- 繪制一個(gè)臺(tái)階式的一條折線 -->
<polyline
points="0,0,50,0,50,50,100,50,100,100,150,100,150,150"
stroke="#4b27ff" fill="none"
></polyline>
</svg>
上述代碼執(zhí)行結(jié)果如圖所示:
需要注意的是 points 中包含了多個(gè)點(diǎn)的坐標(biāo),但不是一個(gè)數(shù)組。
3.6、多邊形 - polygon
polygon 標(biāo)簽用來(lái)創(chuàng)建不少于3個(gè)邊的圖形,多邊形是閉合的,即所有線條連接起來(lái)。
// 使用語(yǔ)法
<svg width="300" height="300" style="border:solid 1px red;">
<polygon
points="
0,0, //多邊形的第一點(diǎn)
100,100, //多邊形的第二點(diǎn)
0,100 //多邊形的第三點(diǎn)
"
stroke="purple"
stroke-width="1"
fill="none"
></polygon>
</svg>
polygon繪制的時(shí)候與折線有些類(lèi)似,但是polygon會(huì)自動(dòng)閉合,折線不會(huì)。
3.7、路徑 - path
path 是SVG基本形狀中最強(qiáng)大的一個(gè),不僅能創(chuàng)建其他基本形狀,還能創(chuàng)建更多其他形狀,如貝塞爾曲線、2次曲線等。
點(diǎn)個(gè)關(guān)注,下篇更精彩!
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。