欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

css實(shí)現(xiàn)各種0.5px的線(小結(jié))

  發(fā)布時(shí)間:2018-06-28 16:27:07   作者:aishuishui2066   我要評論
這篇文章主要介紹了css實(shí)現(xiàn)各種0.5px的線(小結(jié)),主要介紹了0.5px邊框、0.5px圓角邊框、0.5px左邊線、0.5px右邊線、0.5px底部線,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

在PC端用1px的邊框線,看起來還好,但在手機(jī)端看起來就很難看了,而0.5px的分割線會(huì)有種精致的感覺。用普通寫法border:solid 0.5px red;iPhone可以正常顯示,android下幾乎所有的瀏覽器都會(huì)把0.5識別為0,即無邊框狀態(tài).

原理

原理就是給需要加邊框的元素插入一個(gè)偽類,偽類采用絕對定位,然后對偽類添加1px邊框,最后進(jìn)行0.5倍縮放。

transform的縮放和旋轉(zhuǎn)默認(rèn)都是按照元素的中心點(diǎn)來操作的

outline元素在縮放0.5之前尺寸就是紅框元素,縮放后,位置到了紅框中心,為了使之依然在左上角,縮放之前我們需進(jìn)行l(wèi)eft:-50%;top:-50%的位移。

0.5px邊框

<div class="first">
  <div class="first-div">
    HELLO WORLD
  </div>
</div>
<style>
.first{
  position: relative;
  font-size: 16px;
}
.first .first-div:before{
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  border: solid 1px red;
  box-sizing:border-box;
}
</style>

副作用

當(dāng)用偽類的絕對定位來實(shí)現(xiàn)了邊框后,我們在first類和first-div類上的點(diǎn)擊事件會(huì)失效,因?yàn)榇藭r(shí)的偽類是絕對定位,而且長寬等于父類元素的長寬,是脫離了文檔流覆蓋在父類上的,偽類不是真實(shí)的DOM元素,沒有js點(diǎn)擊事件

解決方案

再寫一個(gè)絕對定位元素,覆蓋在父元素上,層級優(yōu)先級要高一點(diǎn)

<div class="first">
  <div class="first-div">
    HELLO WORLD
  </div>
  <div class="click-able" onclick="alert('click')"></div>
</div>
<style>
.first{
  position: relative;
  font-size: 16px;
}
.first .first-div:before{
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  border: solid 1px red;
  box-sizing:border-box;
}
.click-able{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
  </style>

0.5px圓角邊框

<div class="round">
  <div class="round-div">
    HELLO WORLD
  </div>
</div>
<style>
.round{
   position: relative;
   font-size: 16px;
 }
.round .round-div:before{
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  border: solid 1px red;
  border-radius: 22px;
  box-sizing:border-box;
}
</style>

0.5px左邊線

<div class="left">
  <div class="left-div">
    HELLO WORLD
  </div>
</div>
<style>
.left{
  position: relative;
  font-size: 16px;
}
.left .left-div:before{
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  border-left: 1px solid red;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}
</style>

0.5px右邊線

<div class="right">
  <div class="right-div">
    HELLO WORLD
  </div>
</div>
<style>
.right{
  position: relative;
  font-size: 16px;
  display: inline-block;
}
.right .right-div:before{
  content: " ";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  border-right: 1px solid red;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}
</style>

0.5px底部線

<div class="bottom">
  <div class="bottom-div">
    HELLO WORLD
  </div>
</div>
<style>
.bottom{
  position: relative;
  font-size: 16px;
}
.bottom .bottom-div:before{
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-top: 1px solid red;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}
</style>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • css中引入svg來兼容部分安卓機(jī)顯示0.5px邊框的示例

    這篇文章主要介紹了css中引入svg來兼容部分安卓機(jī)顯示0.5px邊框的示例的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-22
  • 使用css3做0.5px的細(xì)線的示例代碼

    這篇文章主要介紹了使用css3做0.5px的細(xì)線的示例代碼的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-18

最新評論