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 在线观看视频你懂得,久久久网站亚洲第一,欧美成成人免费视频

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          JavaScript圖片上傳預(yù)覽Bold和Base6

          JavaScript圖片上傳預(yù)覽Bold和Base64的區(qū)別?

          擊右上方紅色按鈕關(guān)注“web秀”,讓你真正秀起來

          前言

          冬至,希望大家都可以有餃子和湯圓吃,主要是能和自己家人愛人一起吃個飯。

          下面進(jìn)入主題,用原生JS給擼個圖片上傳,預(yù)覽的小示例,希望對大家有所幫助。

          示例

          function fChange() { 
           let file=document.getElementById('file'); 
           // 輸出已經(jīng)選擇圖片名字 
           console.log(file.value); 
           // 輸出已經(jīng)選擇的圖片對象 
           console.log(file.files[0]); 
          } 
          ... 
          <input type="file" id="file" onchange="fChange()">
          

          10行JavaScript代碼完成圖片的上傳預(yù)覽

          我們怎么把圖片對象渲染到頁面了?達(dá)到可以預(yù)覽的目的?

          // file 轉(zhuǎn) blob對象 
          let bold=window.URL.createObjectURL(file.files[0]); 
          console.log('bold==>'+bold); 
           
          let boldImg=document.getElementById('bold'); 
          boldImg.src=bold; 
           
          // file 轉(zhuǎn) base64 
          let base64Img=document.getElementById('base64'); 
          var reader=new FileReader(); 
          reader.readAsDataURL(file.files[0]); 
          reader.onload=function (e) { 
           console.log('base64==>'+this.result); 
           base64Img.src=this.result; 
          }
          

          10行JavaScript代碼完成圖片的上傳預(yù)覽

          10行JavaScript代碼完成圖片的上傳預(yù)覽

          這樣看blob對象和base64都可以預(yù)覽圖片,但是blob對象僅僅是當(dāng)次緩存,如果刷新,你重新把之前轉(zhuǎn)的字符串放到src是不可以預(yù)覽的,當(dāng)時(shí)base64是可以的。所以存庫的時(shí)候不僅可以圖片路徑,還可以直接存base64(base64很占用數(shù)據(jù)庫空間,文件越大,base64字符串越大)

          優(yōu)化

          下面我們對上面示例做優(yōu)化,可以上傳多張圖片并預(yù)覽,美化界面。

          10行JavaScript代碼完成圖片的上傳預(yù)覽

          10行JavaScript代碼完成圖片的上傳預(yù)覽

          <div id="img-pre"> 
          </div> 
          <div id="add-pic"> 
           <input type="file" id="up-file" onchange="fChange()"> 
          </div>
          

          css樣式

          #add-pic{ 
           width: 100px; 
           height: 100px; 
           background: url('./add-pic.png') 
          } 
          #add-pic input{ 
           width: 100%; 
           height: 100%; 
           display: none; 
          } 
          #img-pre:after{ 
           display: block; 
           content: ''; 
           clear: both; 
          } 
          #img-pre img{ 
           float: left; 
           width: 100px; 
           height: 100px; 
           margin-right: 10px; 
          }
          

          javascript

          let addPic=document.getElementById('add-pic'), upFile=document.getElementById('up-file'); 
          // 監(jiān)聽圖片點(diǎn)擊,從而觸發(fā)input file的點(diǎn)擊事件 
          addPic.addEventListener('click', function(){ 
           upFile.click(); 
          }) 
          function fChange() { 
           let file=document.getElementById('up-file'); 
           let imgPre=document.getElementById('img-pre'); 
           
           // file 轉(zhuǎn) blob對象 
           let bold=window.URL.createObjectURL(file.files[0]); 
           
           // 創(chuàng)建img元素,并添加到img-pre元素里 
           var img=document.createElement("img"); 
           img.setAttribute("src", bold); 
           imgPre.appendChild(img); 
          }
          

          主要是通過css隱藏掉input file選擇文件按鈕,然后用+號圖片點(diǎn)擊事件來觸發(fā)input file的點(diǎn)擊事件,達(dá)到能選擇圖片的目的。

          公告

          喜歡小編的點(diǎn)擊關(guān)注,了解更多知識!

          源碼地址請點(diǎn)擊下方“了解更多”

          了更方便地控制網(wǎng)頁中各種各樣的字體,CSS提供了一系列的字體樣式屬性,具體如下。

          (1)font-size屬性:字號

          font-size屬性用于設(shè)置字號,該屬性的屬性值可以為像素值、百分比數(shù)值、倍率等。表3-l列舉了fomt-size屬性常用的屬性值單位,具體如下。

          單位

          說明

          em

          倍率單位,指相對于當(dāng)前對象內(nèi)文本的字體倍率

          px

          像素值單位,是阿頁設(shè)計(jì)中常用的單位

          %

          百分比數(shù)值單位,指相對于當(dāng)前對象內(nèi)文本的字體百分比

          在表1所列的常用單位中,推薦使用像素值單位—px。例如,將網(wǎng)頁中所有段落文本的字號設(shè)為12px,CSS樣式示例代碼如下:

          · p(font-size:12px;)

          (2)font-family屬性:字體fomt-family屬性用于設(shè)置字體。網(wǎng)頁中常用的字體有宋體、微軟雅黑、黑體等。例如,將網(wǎng)頁中所有段落文本的字體設(shè)置為微軟雅黑,CSS樣式示例代碼如下:

          p[font-family:“微軟雅黑“:]

          fomt-family屬性可以同時(shí)指定多個字體,各字體之間以逗號隔開。如果瀏覽器不支持第一種字體,則會嘗試下一種,直到匹配到合適的字體。例如,同時(shí)指定3種字體的CSS樣式示例代碼如下:

          body[font-fanily:“華文彩云”,“宋體“,“黑體";]

          當(dāng)應(yīng)用上述代碼后,瀏覽器會首選“華文彩云”字體,如果用戶計(jì)算機(jī)上沒有安裝該字體則選擇“宋體”。以此類推,當(dāng)fomt-fammily屬性指定的字體都沒有安裝時(shí),瀏覽器就會選擇用戶計(jì)算機(jī)默認(rèn)的字體。使用font-family屬性設(shè)置字體時(shí),需要注意以下幾點(diǎn)。

          · 各種字體之間必須使用英文逗號隔開。

          · 中文字體需要加英文引號,但英文字體不需要加引號。當(dāng)需要設(shè)置英文字體時(shí),英文字體名必須位于中文字體名之前。CSS樣式示例代碼如下:

          body[font-fanily:Arial,“微款雅黑”,“未體”,”黑體”:] /“正確的書寫方式"
          body(font-fanijy:“微軟稚黑”,“宋體”。“黑體”,Arial:) /“錯誤的書寫方式"/

          · 如果字體名包含空格、#、S等符號,則該字體必須加英文引號,如“font-family.“Times New Roman":"

          · 盡量使用系統(tǒng)欺認(rèn)字體,以保證網(wǎng)頁中的文字在任何用戶的瀏覽器中都能正確顯示。

          (3)font-weight屬性:字體粗細(xì)

          font-weighn 屬性用于定義字體的粗細(xì),其屬性值如表所示。

          描述

          normal

          默認(rèn)屬性值,定義標(biāo)準(zhǔn)樣式的字符

          bold

          定義粗體字符

          bolder

          定義更粗的字符

          lighter

          定義更細(xì)的字符

          100~900(100的整數(shù)倍)

          定義由細(xì)到相的字符,其中400等同于normal,700等同于bold,數(shù)值越大字體越粗

          表2列舉了常用的font-weight屬性的屬性值。在實(shí)際工作中,常用的屬性值為normal和bol,分別用于定義正常和加粗顯示的字體。

          (4)font-variant屬性:變體

          font-variant 屬性用于設(shè)置英文字符的變體,一般用于定義小型大寫字體,該屬性僅對英文字符有效。font-variant 屬性的可用屬性值如下。

          · normal:默認(rèn)值,測覽器會顯示標(biāo)準(zhǔn)的字體。small-caps:瀏覽器會顯示小型大寫的字體,即所有的小寫字

          母均會轉(zhuǎn)換為大寫字母。但是所有使用小型大寫字體的字母和其余文本相比,字體尺寸更小。例如,圖3-l2中框線標(biāo)注的小型大寫字母,就是使用font-variant屬性設(shè)置的。

          (5)font-style屬性:字體風(fēng)格

          fomt-style屬性用于定義字體風(fēng)格。例如,設(shè)置斜體、傾斜或正常字體。font-style屬性的可用屬性值如下。

          · nommal:默認(rèn)值,測覽器會顯示標(biāo)準(zhǔn)的字體樣式。

          · italic:測覽器會顯示斜體的字體樣式。

          · oblique:測覽器會顯示傾斜的字體樣式。

          當(dāng)font-style屬性取值為italic或oblique時(shí),文字都會顯示傾斜的樣式,兩者在顯示效果上并沒有本質(zhì)區(qū)別。但italie使用了字體的傾斜屬性,并不是所有的字體都有傾斜屬性;而obhique只是使文字傾斜,無關(guān)該字體有沒有傾斜屬性。

          (6)fomt屬性:綜合設(shè)置字體樣式

          fomt屬性用于對字體樣式進(jìn)行綜合設(shè)置,其基本語法格式如下:

          選擇器{font:font-style font-varlant font-weight font-size/line-height font-fanlly:}

          使用fomt屬性綜合設(shè)置字體樣式時(shí),必須按上述語法格式中的順序書寫,各個屬性以空格隔開(line-height用于設(shè)置行間距,屬于文本外觀屬性,在后面將具體介紹)。例如,下面設(shè)置字體樣式的示例代碼:

          p{font-fanily:Arial,"宋體";font-size:30px; font-style:italic; font-weight:boid; font-variant:
          amal1-cape; line-height:40px;}

          上述代碼可以使用fomt屬性綜合設(shè)置字體樣式,其等價(jià)于:

          p{font:italic small-caps bold 30px/40px Arial,"宋體";}

          其中,不需要設(shè)置的屬性可以省略(省略的屬性將取默認(rèn)值),但必須保留fomt-size和 font-family屬性,否則font 屬性將不起作用。

          下面通過一個案例具體演示如何使用fomt屬性綜合設(shè)置字體樣式,如下所示。

          <!doctype html>
          <html>
          <head>
          <meta charset.-"utf-8">
          <title>font l國性</title>
          <style type-"text/css">
          .one{ font:italic 18px/30px"隸書":}
          .two{ font:italic l8px/30px;}
          </style>
          </head>
          <body>
          <p class="one">段落1:使用font 屬性綜合設(shè)置段落文本的字體風(fēng)格、字號,行高和字體。</p>
          <p class="two“>段落2:使用font屬性綜合設(shè)置段落文本的字體風(fēng)格、字號和行高。由于省略了字體屬性font-family,
          這時(shí)font屬性不起作用。</p>
          </body>
          </htnl>

          定義了兩個段落,同時(shí)使用fomt屬性分別對它們進(jìn)行相應(yīng)的設(shè)置,效果如圖。

          從圖中可以看出,font屬性設(shè)置的樣式并沒有對第二個段落文本生效,這是因?yàn)閷Φ诙€段落文本的設(shè)置中省略了字體屬性“font-family”。

          (7)@font-face規(guī)則

          @font-face是CSS3的新增規(guī)則,用于定義服務(wù)器字體。通過@font-face規(guī)則,可以使用計(jì)算機(jī)未安裝的字體。@font-face規(guī)則定義服務(wù)器字體的基本語法格式如下:

          @font-face{
               font-family:字體名稱:
               src:字體路徑;
          }

          在上述語法格式中,font-family用于指定該服務(wù)器字體的名稱,該名稱可以隨意定義;sre用于指定該字體文件的路徑。

          下面通過一個剪紙字體的案例來演示@font-face規(guī)則的具體用法,如下所示。

          <!doctype html>
          <html>
          <head>
          <meta charset-"utf-8">
          <title>afont-face規(guī)則</title>
          <style type-"text/css">
          @font-face{
          font-fanily:jianzhi;   /*服務(wù)器字體名稱*/
          src:url(FZJZJN.TTF);   /*服務(wù)器字體文件的路徑*/
          }
          p{
          font-fanily:jianzhi;   /*設(shè)置字體樣式*/
          font-size:32px;
          }
          </style>
          </head>
          <body>
          <p>明確責(zé)任</p>
          <p>肩負(fù)使命</p>
          </body>
          </htnl>

          在例3-6中,第7~10行代碼用于定義服務(wù)器字體;第12代碼用于為段落標(biāo)簽設(shè)置字體樣式。效果如圖所示。

          從圖中可以看出,當(dāng)定義并設(shè)置服務(wù)器字體后,頁面就可以正常顯示剪紙字體。總結(jié)例3-6,可以得出使用服務(wù)器字體的步驟。

          ①下載字體,并存儲到相應(yīng)的文件夾中。

          ②使用@font-face規(guī)則定義服務(wù)器字體。

          ③對元素應(yīng)用“font-family”字體樣式。

          字的傳統(tǒng)字體有楷書、隸書、草書等等,現(xiàn)在的自制字體數(shù)量更多。如果還用著系統(tǒng)默認(rèn)的微軟雅黑,那不妨試著用用新字體。擺脫網(wǎng)頁單調(diào)的第一步,從字開始!

          目標(biāo)

          • 指定字體系列
          • 設(shè)置字體大小、粗細(xì)和正斜
          • 設(shè)置字體顏色


          設(shè)置字體--font-family

          在日常工作、生活里,我們常常接觸到宋體、黑體等傳統(tǒng)字體

          傳統(tǒng)字體


          隨著人們的審美越來越高,就出現(xiàn)了各種各樣新的字體,例如:

          火星字體


          上面的不算,下面的才算,有很Q的字體,有帶有圖標(biāo)的字體等等。

          新字體


          在CSS中,使用font-family屬性來定義字體類型。可指定多種字體,多個字體將按優(yōu)先順序排列,以逗號隔開,注意逗號一定要是英文逗號。如果電腦沒有第一個字體,則向后選擇,以此類推。


          語法:font-family:字體1,字體2,字體3;


          定義字體


          字體大小--font-size

          在CSS中,使用font-size屬性來定義字體大小。常用的單位是長度值(px)

          語法:font-family:像素值;


          在css文檔里,還有其他的單位,例如絕對單位和相對單位,但是使用的頻率遠(yuǎn)不如長度值單位。


          注意:瀏覽器默認(rèn)字體大小是16px


          定義字體大小


          效果


          字體粗細(xì)--font-weight

          在CSS中,使用font-weight屬性來定義字體粗細(xì)。

          語法:font-weight:;


          這個屬性就總共3個狀態(tài):正常(normal)、較細(xì)(lighter)、較粗(bold)


          在css文檔里,還有數(shù)值的選擇,其實(shí)沒多大作用,一般都不會使用。


          注意:bold和bolder效果是一樣


          定義字體粗細(xì)



          字體正斜--font-style

          在CSS中,使用font-style屬性來定義字體傾斜效果

          語法:font-style:值;


          這個屬性就總共2個狀態(tài):正常(normal)、斜體(italic、oblique)


          注意:italic、oblique這兩個效果是一樣的,只不過有些字體無法通過italic來設(shè)置斜體

          ,只能通過oblique來強(qiáng)制傾斜。


          定義字體粗細(xì)

          效果


          字體顏色--color

          在CSS中,使用color屬性來定義字體顏色。

          語法:font-color:顏色值;


          顏色值是一個關(guān)鍵字或一個16進(jìn)制的RGB值

          關(guān)鍵字指的就是顏色的英文名稱,如red、blue、green等。

          16進(jìn)制RGB值指的就是類似"#FBF9D0"這種形式的值。


          定義字體顏色


          效果

          總結(jié)

          思維導(dǎo)圖


          主站蜘蛛池模板: 久久一区二区三区精品| 日韩有码一区二区| 国产99精品一区二区三区免费 | 亚洲福利电影一区二区?| 99精品国产一区二区三区| 日韩精品一区二区三区国语自制| 久久免费区一区二区三波多野| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲欧美日韩一区二区三区在线| 亚洲一区二区三区在线观看精品中文| 国产精品综合一区二区| 亚洲精品日韩一区二区小说| AV无码精品一区二区三区| 精品性影院一区二区三区内射| 久久无码人妻一区二区三区| 亚洲AV美女一区二区三区| 国99精品无码一区二区三区| 秋霞午夜一区二区| 久久精品岛国av一区二区无码| 狠狠色婷婷久久一区二区| 中文字幕一区二区人妻| 久久久久久人妻一区精品| 人妻天天爽夜夜爽一区二区| 精品一区二区三区免费毛片爱| 精品一区二区91| 亚洲国产成人一区二区精品区| 99精品国产高清一区二区三区| 国产一区二区三区在线影院| 99久久精品费精品国产一区二区| 在线观看免费视频一区| 夜夜嗨AV一区二区三区| 久久久国产精品一区二区18禁| 3d动漫精品一区视频在线观看| 日韩最新视频一区二区三| 久久久久人妻精品一区三寸| 视频一区二区在线观看| 麻豆精品久久久一区二区| 78成人精品电影在线播放日韩精品电影一区亚洲| 无码囯产精品一区二区免费| 精品欧洲AV无码一区二区男男| 国语对白一区二区三区|