整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          ruby標簽從入門到應用


          itle: HTML ruby標簽從入門到應用

          • JavaScript categories: JavaScript

          ruby標簽

          HTML 5 發布時新增了一款偏門標簽,用來對文字(主要是東亞地區)(也就是漢字)的發音做標注的標簽,標簽是父級標簽,具體有'內容'<rb>/'標注'<rt>/‘備選’<rp>

          一、是什么

          一句話加上一張簡單效果圖應該就可以讓你搞懂這個標簽究竟是做什么的。

          為文字標注發音。

          上圖:

          漢字 + 漢語拼音(不局限于漢語拼音)。

          二、怎么用

          導語部分介紹了<ruby>下三個主要子標簽<rb> <rt> <rp>, <rb> - 下方內容主體, <rt> - 上方標注內容 <rp> - 當瀏覽器不兼容時備選顯示內容

          簡單的栗子:

          <ruby>
           <rb>英雄</rb>
           <rt>えいゆう</rt>
           <rp>(えいゆう)</rp>
          </ruby>
          

          示例圖:

          當然,對應漢語拼音與其他任何語言標注,都可以簡單的處理

          <ruby>
           <rb>冰山工作室</rb>
           <rt>bing shan gong zuo shi</rt>
          </ruby>
          

          做一個靜態自動添加拼音的demo(含音調字符可以映射拼寫,多語言或復雜場景需要服務器詞庫支持)

          到這里為止,基本就是這個標簽的全部應用了,就是這么的簡單友好, 雖說是針對東亞文字,但是你完全可以按照你的意愿對內容和標注內容進行自定義(比如英文標注漢字?)。

          **兼容性:**強調<ruby>標簽本身,IE8以上及各大主流瀏覽器都支持,但是除了他本身,基本都不支持。

          PS: 帶有聲調的漢語拼音需要輸入法切換,同理可證的。

          三、認識也暫時沒什么用的標簽

          在介紹這兩個子標簽之前,我所看過的關于的介紹文章,大多數都沒有包含,而是省略直接用字符串后接標簽內容,不過并不推薦這么做。

          **前提:**目前只有Firefox瀏覽器支持,其他任何瀏覽器都將忽略該標簽(也就是會顯示<rp>標簽內的內容)

          • <rbc>標簽,<rb>標簽的集合,一個<ruby>主體中只能存在一個,多個默認第一個有效,其實就是來管理所有的<rb>標簽,(Q: 不用行不行?A: 完全沒問題,頂多DOM不那么那么規范)
          • <rtc>標簽,<rt>標簽的加強版,注意,不是合集!一個內容標簽最多可以對應兩個<rtc>標簽 這個標簽在一定場景下還是有用處的,比如一個場景栗子:


          上面英文,中間漢字,下面漢語拼音,很多字幕翻譯都會有這種情況, 如果你頭鐵要采用雙<rt>中間<rb>的戰術,不用試,不好用。我試過了

          這個時候就需要上下兩層注釋內容,可以采用上下都用<rtc>或者一個<rtc> + <rt>的組合。

           <ruby>
           <rbc>
           <rb>早</rb><rp>(</rp><rt>zao</rt><rp>)</rp>
           <rb>上</rb><rp>(</rp><rt>shang</rt><rp>)</rp>
           <rb>好</rb><rp>(</rp><rt>hao</rt><rp>)</rp>
           </rbc>
           <rtc style="ruby-position: under;">
           <rp>(</rp><rt>おはよう</rt><rp>)</rp>
           </rtc>
           </ruby>
          

          或者

          <ruby>
           <rb>冰山工作室</rb>
           <rtc style = "ruby-position: over"><rt>bing shan gong zuo shi</rt></rtc>
           <rtc style = "ruby-position: under"><rt>bing shan gong zuo shi</rt></rtc>
          </ruby>
          

          四、屬性與樣式

          1. 首先, <ruby>標簽和所有HTML標簽一樣,支持所有常規的標簽屬性和事件綁定,也支持對應的CSS樣式

          注: 以下樣式目前僅Firefox全支持。(別急,別的瀏覽器也有辦法的)

          1. ruby-position :上述代碼中出現了ruby-position 樣式,是<ruby>標簽特有樣式, ruby-position 控制<ruby>標簽內容與標注文字的相對位置。樣式值:
          • over 水平文本的上方渲染標注,在垂直文本的右側渲染。默認值。
          • under 水平文本的下方渲染標注,垂直文本底部左側渲染。
          • inter-character 在每個字符的右側渲染水平文本的紅寶石文本,會強制垂直顯示內容文本。(目前未實裝)
          1. ruby-align: 表示內容與標注的文字對齊方式
          • start 起始位置對齊(左對齊)
          • center 居中
          • space-between 均勻分布
          • space-around 在其框內均勻分布內容,但不一定從邊緣到邊緣填充空間。
          1. ruby-merge: 這個屬性首先個人覺得沒用,其次沒有實裝。用來整合<ruby>標簽的。
          • separate: 整合相鄰<ruby>標簽的內容(也就是<rb>),再簡單點說,省一個<ruby>,好的下一位。
          • collapse: 整合同一行的內容與標注文本,簡單的理解就是,同行下省了若干<rb> <rt>標簽。
          1. 那么,如果不能使用Firefox怎么辦,用其他CSS樣式寫唄 (~~又沒說不支持text-align~~)

          PS:

          1. 目前在Chrome瀏覽器中已經開始支持部分內容(比如將標注放在內容下方),但是值得注意的是,屬性值完全不一樣。
          2. 即使不用<ruby>,文本標簽配合CSS一樣可以實現。

          引用:

          1. https://www.chenhuijing.com/blog/html-ruby/#%F0%9F%91%9F

          TML 教程導讀- (HTML5 標準):

          HTML也叫作超文本標記語言,標準通用標記語言下的一個應用,您可以使用 HTML 來建立自己的 WEB 站點。通過學習本教程,您將可以使用 HTML 來創建站點。HTML 是非常容易學習的!相信您能很快學會它!


          HTML發展史:

          HTML沒有1.0,因為關于它的初版存在爭議,1995年HTML 2.0面世,1997年由國際官方組織W3C推出了HTML 3.2以及HTML 4.0標準,后面W3C(萬維網聯盟)也漸漸變成Web技術領域的權威,經過漫長的演變,2014年,HTML 5標準最終面世。

          HTML 2.0——1995年11月,RFC 1866發布

          HTML 3.2——1997年1月14日,W3C發布推薦標準

          HTML 4.0——1997年12月18日,W3C發布推薦標準

          HTML 4.01——1999年12月24日,W3C發布推薦標準

          HTML 5——2014年10月28日,W3C發布推薦標準


          HTML 實例:

          在本教程中的每個章節中都會提供一定量的實例,使用編輯器,運行并修改這些實例,您可以深入掌握 HTML!

          實例:

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="utf-8">

          <title>test00-html課程導讀實例</title>

          </head>

          <body>

          <h1>這是一個標題</h1>

          <p>這是一個段落。</p>

          </body>

          </html>

          使用HBuilderX創建一個項目:

          我是一名前端開發程序員,自己整理了一份2019最全面前端學習資料,從最基礎的HTML+CSS+JS到移動端HTML5到各種框架都有整理,送給每一位前端小伙伴,這里是小白聚集地,歡迎初學和進階中的小伙伴

          前端資料獲取方式:

          1.在你手機的右上角有【關注】選項,點擊關注!

          2.關注后,手機客戶端點擊我的主頁面,右上角有私信,請私信回復:【學習】

          電腦已經設置好了關鍵詞自動回復,所以回復的時候請注意關鍵詞喲~

          讀:現在的開發人員都趨向于使用新的編程語言,那么舊的編程語言呢?它們的前途一般是這樣兩種:仍然可以使用,但逐漸不受大家歡迎;直接完全死去。和之前的十佳最受歡迎的編程語言相反,我們預測以下這幾種編程語言面臨著死亡威脅。

          01 Perl

          曾幾何時,幾乎每個人都在使用Perl語言編程。但是那些經常使用的人慢慢地發現,關于這個Perl語言似乎總是有點不對勁。至少我知道有這么個叫做“piecemeal”的編程語言,它的創造者似乎就只是將這個功能堆在另一個功能上面而已,并沒有好好考慮將它們結合在一起。


          事實上,甚至是它的創造者也不得不承認這種編程語言是有問題的。經過完整地改造之后,現在的開發工作開始傾向于使用Perl6,這個大概是在2000年的時候。至于Perl?儼然已經銷聲匿跡了!所以完全沒有必要去學習它了。順便說一句,下面這個“Goodbye World”就是用Perl寫的:

          #!/usr/bin/perlprint "Content-type: text/html
          
          ";print "Goodbye, world!
          ";


          上面這個例子會出來一個網頁。現在的Perl,由于可以作為CGI腳本語言,所以使用的最廣泛的是在生成web頁面上。但是為了適應時代的變化,我們最好還是將Perl語言“棄之如敝履”。

          02 Ruby

          關于Ruby,可以這么唱“十年之后,我不認識你你不屬于我……”因為就在10年前,Ruby語言可謂是風靡一時。它出生于1995年,5年左右達到它的鼎盛時期。如果你經常使用的話,絕對會義無反顧地愛上它。


          但是,像我們這些學著C語言風格長大的孩子在學習Ruby時往往會覺得有點囧。


          下面是用Ruby寫的“Goodbye World”:


          puts 'Bye bye, Miss American Ruby! Drove my Chevy to the Levie…'puts '2011 was the day that Ruby died, yeah…'


          下面是一個用于計算階乘的例子:


          def fact(n)  if n == 0    1  else    n * fact(n-1)  endendputs fact(ARGV[0].to_i)


          我測試了這個例子,來計算1000的階乘。下面是結果(由于篇幅限制,中間略過了2569個數字):


          ruby fact.rb 100040238726007709377354370243392300…0000000


          從各方面來看,Ruby都很好,幾乎是一片贊譽聲……除了Twitter。在2011年4月,Twitter宣稱他們已經將幾乎大部分的代碼都改寫過了,以便不必使用Ruby和它的web框架——Ruby on Rails,據他們所說這個平臺非常之低效。


          不過,我想說的是,也正是那一天起,Ruby開始走下坡路,使用的人數也是越來越少。


          03 Visual Basic.NET

          十年前,我應聘到一個需要重寫大量代碼的公司,名字我已經忘記了,主要工作就是將VB6轉換為Visual basic.NET。大概就只干了一兩個月吧,我就跳槽了:真心太痛苦了。


          微軟鐘愛于BASIC編程語言的擴展可以一路追溯到1991年,那時他們剛剛采購了來自Alan Cooper的一個非常酷(對于那個時候而言)的可視化編程設計。


          Alan Cooper初期使用的是別的編程語言,但是比爾蓋茨讓他換成BASIC語言,因為蓋茨認為那是當時最為簡單的編程語言。于是乎,大名鼎鼎的Visual Basic,就從BASIC中衍生出來——對象這一概念以及新的編程技術問世了。


          后面又發生了一些很有意思的事情。Borland Delphi的創造引領者,Anders Hejlsberg也到微軟工作,并且引領創建了一個新的編程語言——C#。


          這種編程語言非常類似于Java語言。剛開始的學習或許有點難,但是一旦上手,你絕對會對它愛不釋手。C#很快就成為了微軟的旗艦編程語言。現在的話,在軟件行業中,有很多很多需要C#的工作崗位,不少都是高薪聘用的。


          雖然針對自己的CLR運行,微軟創建了C#,但是它的工程師們另外還創建了一個蓋茨深愛的BASIC語言版本,命名為Visual Basic.NET。


          該編程語言借用了BASIC語言的語法,但是它的編碼方法卻與C#相似。雖然Visual Basic.NET也在發展,但是優勝劣汰總是不可避免的——大家都選擇了C#,于是Visual Basic.NET就成為了明日黃花。


          下面是摘自微軟網頁上的一段Visual Basic.NET程序:


          'Allow easy reference to the System namespace classes.Imports System'This module houses the application's entry point.Public Module modmain   'Main is the application's entry point.   Sub Main()     'Write text to the console.     Console.WriteLine ("Hello World using Visual Basic!")   End SubEnd Module


          (這里的“Hello World”也可以替換成“Goodbye World”,這個沒關系。)


          04 Adobe Flash和AIR

          從技術上講,這些都是平臺,而非編程語言。我之所以將它們包含進來是因為如果你想要使用它們,就必須安裝Adobe自己的ECMAScript版本,即ActionScript。


          ActionScript是JavaScript(當前最流行的編程語言之一,因為它能用于所有的瀏覽器)的一個近親。ActionScript在ECMAScript(這是JavaScript實現標準的官方名稱)中增加了一些細節;但是除了Adobe Flash,其他地方幾乎沒有ActionScript的用武之地。


          你使用Flash不?喬布斯非常討厭它,并且也不允許iPhone使用它。然后隨著iPhone(以及隨后的iPad)的逐漸普及,Web開發人員不得不創建不必依賴于Flash的網站。那些以ActionScript為生的開發人員也不得不紛紛下崗。(我曾經看到過一個Flash開發人員指責另一個JavaScript開發人員毀了他的職業生涯。)


          Adobe也曾試圖通過AIR以求得其編程平臺的一線生機,于是配建了一個用于構建AIR app的工具,稱為Flex。至于AIR,許多人都說,這是一場災難。不過我們目前也不知道為什么Adobe會推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相親相愛共同發展?


          記得有一段時間,得益于Twitter平臺——TweetDeck(要求用戶在電腦上安裝AIR運行時)的使用,AIR很是紅火了一陣子。那時大概有數以百萬計的pc AIR應用被開發出來,只是后來Twitter在2011年買了TweetDeck之后,又改寫本地代碼取代了AIR。于是乎,AIR的輝煌就到此為止。


          隨著Flash和AIR的逐漸逝去,Adobe的ActionScript也開始向世界吻別。下面是一些用ActionScript寫的代碼示例。


          package {import flash.display.*;import flash.text.*;public class HelloWorld extends Sprite {   private var greeting:TextField = new TextField();public function HelloWorld() {     greeting.text = “Hello World!”;     greeting.x = 100;     greeting.y = 100;     addChild(greeting);   } }}


          (你可能會發現這與JavaScript非常相似,都使用var、function和new,并且也使用小數點來訪問成員變量。)


          05 Delphi's Object Pascal

          首先我得向我曾經的好伙伴Delphi表示歉意,因為我不得不公布Object Pascal的“死訊”。well,Delphi(用于發Object Pascal的工具)歷經變遷之后,依然茍延殘喘著(它起源于Borland公司,現在抱著Embarcadero公司的大腿)。


          早先Delphi和它的Object Pascal語言確實給我們提供了一個良好的工作環境:雖然有點啰嗦,但是編譯器很快,而且相比Visual Basic(這里指的是pre-Visual Basic.NET,1995年左右),創建Windows程序更容易。


          但是它的優勢并沒有持續下去。也很難說是什么原因,因為這個平臺真心是不錯的。就在這時,Borland公司開始在其Delphi的產品線上支持C#和C++。


          發展到后來,Borland公司甚至直接將Delphi賣給了Embarcadero公司,然后Embarcadero公司繼續使用Delphi開發產品。話說,它做得相當不錯,但是重點再也不是Pascal了。當然,你依然可以用Pascal編程,但是幾乎沒人走這條路了。


          事實上,我們可以使用Delphi建立許多不同的平臺,包括iOS、Android,以及即將到來的Linux操作系統。


          但是,如果你去Embarcadero公司的網站看看,你會發現他們主要是在促進Delphi's C++ 的支持。因此,換言之就是,Object Pascal已然逝去了。寫到這里,我不禁悲從心來,因為我花了很多很多時間來學習Pascal語言,特別是Delphi's Object Pascal。但是沒辦法,現實就是如此殘酷,不轉行就只能餓死。


          下面請看Object Pascal的代碼:


          program HelloWorld;begin    writeln('You say goodbye.')


          譯者注:以上觀點僅代表作者個人觀點。


          主站蜘蛛池模板: 少妇精品久久久一区二区三区| 国产高清在线精品一区二区三区| 好吊妞视频一区二区| 加勒比无码一区二区三区| 日韩色视频一区二区三区亚洲| 一区二区日韩国产精品| 亚拍精品一区二区三区| 国产亚洲一区二区三区在线观看 | 在线观看亚洲一区二区| 日韩精品无码人妻一区二区三区| 国产精品揄拍一区二区久久| 亚洲线精品一区二区三区 | 无码人妻精品一区二区蜜桃网站| 国产av夜夜欢一区二区三区| 久久久久国产一区二区三区| 国产Av一区二区精品久久| 一区二区三区国产精品 | 91精品一区国产高清在线| 天天躁日日躁狠狠躁一区| 亚洲电影唐人社一区二区| 国产一区玩具在线观看| 国产成人久久一区二区三区| 亚洲a∨无码一区二区| 国产成人久久精品区一区二区| 一夲道无码人妻精品一区二区| 亚洲午夜日韩高清一区| 欧洲精品一区二区三区在线观看| 少妇一晚三次一区二区三区| 国产一区在线mmai| 亚洲欧洲无码一区二区三区| 亚洲视频免费一区| 国产福利微拍精品一区二区| 麻豆高清免费国产一区| 无码少妇一区二区三区浪潮AV| 亚洲AV无码一区二区三区系列 | 国产人妖视频一区二区破除| 无码人妻精品一区二区三区不卡| 日韩中文字幕精品免费一区| 精品爆乳一区二区三区无码av| 一区二区精品在线| 亚洲欧洲无码一区二区三区|