1. 程式人生 > >從塊級元素和行內元素的分析到bfc的布局理解

從塊級元素和行內元素的分析到bfc的布局理解

定位 pre dash 過程 enter ali gin 服務 lse

  接口和屬性介紹
  
  播放器提供了progressMakers屬性,是一個數組類型,每一條記錄包含offset時間和text打點的內容,還可以包含其他屬性,此屬性用於告訴播放器進度條打點記錄,記錄內容屬性說明:
  
  名稱 類型 說明
  
  offset Number 打點的視頻偏移時間,單位:秒
  
  text String 打點的文本信息,默認UI會使用
  
  isCustomized Boolean 是否使用默認UI,不使用設置為true
  
  事件
  
  Aliplayer提供兩個事件:鼠標進入進度條上的打點和鼠標離開進度條上的打點。
  
  //鼠標進入進度條上的打點
  
  player.on(‘markerDotOver‘, function(data) {
  
  let params = data.paramData,
  
  progressMarker = params.progressMarker, //打點記錄信息
  
  left = params.left; //打點的離播放器左邊的距離
  
  });
  
  //鼠標離開進度條上的打點
  
  player.on(‘markerDotOut‘, function() {
  
  });
  
  相關接口
  
  為了方便打點內容的編輯提供了下面的接口:
  
  接口名稱 參數 說明
  
  enterProgressMarker 無 播放器進入打點編輯狀態,在seek操作完成時,不會播放視頻
  
  exitProgressMarker 無 播放器退出打編輯狀態,在seek操作完成時,會繼續播放視頻
  
  isInProgressMarker 無 是否是打點編輯狀態
  
  getProgressMarkers 無 獲取打點數組
  
  功能使用
  
  下面會介紹播放器如何輔助用戶進行打點信息的生成和維護。
  
  打點Seek操作
  
  用戶在生成打點內容的時候,希望在seek操作時,視頻不要播放,這時候就需要讓播放器進入打點編輯狀態,並且在seek完成時,能夠得到當前seek到的時間,這樣就可以進行時間和內容對應關系的編輯。
  
  創建播放器時,訂閱completeSeek事件,代碼如下:
  
  player.on(‘completeSeek‘,function(e){
  
  console.log(‘seek完成:‘+ e.paramData);
  
  //seek完成::12.875738146938774 單位為秒
  
  });
  
  如果希望seek結束時畫面時靜止的,使用的代碼如下:
  
  <button click="switchProgressMarker()">開始打點</button>
  
  var switchProgressMarker = ()=>{
  
  if(!player.isInProgressMarker())
  
  { //如果為進入編輯狀態,調用enterProgressMarker
  
  player.enterProgressMarker();
  
  }
  
  else
  
  {
  
  //如果為已經是編輯狀態,調用exitProgressMarker退出
  
  player.exitProgressMarker();
  
  }
  
  }
  
  播放顯示打點
  
  打點信息通過在創建播放器的時候傳給播放器,代碼如下:
  
  var player = new Aliplayer({
  
  id: "player-con",
  
  source: "//common.qupai.me/player/qupai.mp4",
  
  width: "100%",
  
  height: "500px",
  
  autoplay: true,
  
  progressMakers:[
  
  {offset:0,text:‘阿裏視頻雲端到雲到端服務的重要一環‘},
  
  {offset:10,text:‘除了支持點播和直播的基礎播放功能外‘},
  
  {offset:20,text:‘深度融合視頻雲業務‘},
  
  {offset:30,text:‘為用戶提供簡單、快速、安全、穩定的視頻播放服務‘},
  
  {offset:40,text:‘安裝播放器Demo進行體驗‘},
  
  {offset:50,text:‘開發人員請點擊SDK下載‘}
  
  ],
  
  }, function (player) {
  
  console.log("播放器創建成功");
  
  });
  
  塊級元素:塊級元素占據其父元素(容器)的整個空間,因此創建了一個“塊”。通俗的講: 一個div,它的height:20px; width:20px;,div的大小就是這個高乘以寬的區域。
  
  行內元素: 一個行內元素只占據它對應標簽的邊框所包含的空間。eg: <span>1</span>:行內元素占據的是1這個內容區的空間。
  
  塊級元素與行內元素的區別
  
  塊級元素,可以設置寬高(width, height),可以設置全部方向的margin,padding值(四個方向都可以),會新起一行(即兩個塊級元素在一起會,變成兩行,與塊級元素的寬度無關,即使父級div的寬度為100px,子級兩個div的寬度只有10px,兩個子級div也會上下排列,除非設置了float.)。
  
  第二個div另起了一行。
  
  塊級元素具體有:
  
  div、p、h1-h6、form、ul、ol、dl、dt、dd、li、table、tr、td、th、hr、blockquote、address、table、menu、pre
  
  HTML5:header、section、article、footer等等
  
  行內元素:行內元素不能設置width,height,還有不能試試margin的top和bottom但是可以設置margin的left和right,可以設置padding的四個方向。行內元素都是在同一行的。但是有一些特殊的行內元素如input,img等他們是替換元素:<img>、<input>、<textarea>、<select>、<object>,他們可以設置寬高。
  
  下面的元素都是行內元素:
  
  b, big, i, small, tt
  
  abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var
  
  a, bdo, br, img, map, object, q, script, span, sub, sup
  
  button, input, label, select, textarea
  
  BFC:塊級格式化:是布局過程中生成塊級盒子的區域,也是浮動元素與其他元素的交互限定區域.(通俗講是實驗兩欄布局,一欄固定,一欄自適應)還有三欄布局也是同樣的原理,下面代碼實現的是兩欄布局。
  
  註意:
  
  塊格式化上下文包含創建它的元素內部的所有內容.
  
  塊格式化上下文對浮動定位(參見 float)與清除浮動(參見 clear)都很重要。浮動定位和清除浮動時只會應用於同一個BFC內的元素。浮動不會影響其它BFC中元素的布局,而清除浮動只能清除同一BFC中在它前面的元素的浮動。外邊距折疊(Margin collapsing)也只會發生在屬於同一BFC的塊級元素之間。
  
  實現代碼如下:
  
  <!DOCTYPE html>
  
  <html>
  
  <head>
  
  <title></title>
  
  </head>
  
  <body>
  
  <div class="container">
  
  <div class="www".dasheng178.com"left">www.fengshen157.com</div>
  
  <div class="main"></div>
  
  </div>
  
  <!-- <div class="www".haomem178.cn "dd">1</div>
  
  <div class="dd">1</div>
  
  <input class="dd" value="1"/>
  
  <input class="dd"/>
  
  <span class="dd">1</span>
  
  <img class="dd"/> -->
  
  </body>
  
  <style type="text/css">
  
  .container{
  
  width: 100%;
  
  height:300px;
  
  padding-left:200px;
  
  }
  
  .left{
  
  left:0;
  
  width:200px;
  
  background: red;
  
  height: 100px;
  
  margin-left:-www.tiaotiaoylzc.com/ 200px;
  
  float: left;
  
  }
  
  .main {
  
  width:100%;
  
  padding-left: 200px;
  
  height:100px;
  
  background: blue;
  
  float: left;
  
  }
  
  /*.dd{
  
  border:1px solid #18E;
  
  margin: 10px;
  
  height:www.mcyllpt.com 200px;
  
  width:300px;
  
  padding:20px;
  
  }*/
  
  </style>
  
  </html>

從塊級元素和行內元素的分析到bfc的布局理解