整合營銷服務(wù)商

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

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

          四葉草SEO:主要SEO作弊方法之隱藏文字

          四葉草SEO:主要SEO作弊方法之隱藏文字

          家莊四葉草SEO小編在這里介紹黑帽,并不意味鼓勵(lì)大家使用黑帽,恰恰相反,而是因?yàn)楹芏郤EOer無意之中就使用了黑帽手法,自己卻不知道。對(duì)于一個(gè)正常的商業(yè)網(wǎng)站和大部分個(gè)人網(wǎng)站來說,做好內(nèi)容,正常優(yōu)化,關(guān)注用戶體驗(yàn),才是通往成功之路。所以小編把常見的方法列舉出來,給大家敲個(gè)警鐘。今天先從隱藏文字說起。

          隱藏文字值得事頁面上出現(xiàn)用戶看不到,但是搜索引擎能看到的文字。當(dāng)然,這些文字是以搜索引擎排名為目的,所以通常包含大量關(guān)鍵詞,意圖提高文字相關(guān)性。有事隱藏的文字海域可見頁面內(nèi)容無關(guān),目的是希望某些與頁面無關(guān)但搜索次數(shù)高的關(guān)鍵詞能有排名和流量。

          實(shí)現(xiàn)隱藏文字的方法有多種。比如文字與背景顏色相同,頁面背景設(shè)置為白色,文字也設(shè)置為白色。這是最簡單的方法,也是最容易被檢測出來的方法。有的作弊者吧文字放在一個(gè)圖片背景上,而圖片就是一個(gè)單色圖案,與文字是同一個(gè)顏色,比如白色文字放在白色圖片。由于搜索引擎還不能準(zhǔn)確讀取圖片內(nèi)容,就可能判斷這是隱藏文字。

          有的時(shí)候作弊者也是用相近顏色。比如背景顏色是純白色,HTML代碼是#FFFFFF,文字設(shè)置為非常非常淺的灰色,比如使用#FFFFFD。這樣搜索引擎讀到的顏色代碼是不同的,單用戶肉眼其實(shí)分辨不出這兩種顏色的區(qū)別。

          使用微小文字也可以實(shí)現(xiàn)隱藏文字,比如把文字大小設(shè)置為一個(gè)像素,這樣用戶在頁面上是看不到這些文字的。

          還有的黑帽使用樣式表隱藏文字,近幾年這種方式更流行。通過CSS文件把文字定位到不可見區(qū)域,比如文字放在屏幕左邊或者右邊很遠(yuǎn)的地方:

          positon:absolute;

          margin-right:-1000000px;

          這樣用戶在正常情況下也是看不到這些文字的。或者把文字放在不顯示的層上:

          <div style="display:none">隱藏文字</div>

          用戶正常情況下很難發(fā)現(xiàn)隱藏文字,但可以查看HTML源代碼,有的隱藏文字可以通過按Ctrl+A鍵選擇頁面上所有文字的方法看到。對(duì)于搜索引擎來說,有的隱藏文字確實(shí)很難通過程序檢測出來。但是一旦用戶或競爭對(duì)手舉報(bào),人工審查就很簡單了。隱藏文字是一旦被發(fā)現(xiàn)通常會(huì)被懲罰的、風(fēng)險(xiǎn)較大的黑帽手法。

          本文出自四葉草博客,原文地址:http://www.sjzseo010.com/?p=22,轉(zhuǎn)載請(qǐng)保留原作者,謝謝!

          mac 文件管理中有這樣一個(gè)小細(xì)節(jié)。


          1. 當(dāng)文件名不超過一行時(shí),完整顯示,此時(shí)鼠標(biāo)放上去無任何提示
          2. 當(dāng)文件名超過一行時(shí),出現(xiàn)省略號(hào),此時(shí)鼠標(biāo)放上去提示顯示完整文件名



          一個(gè)很微妙但非常人性化的細(xì)節(jié)(ps.都能完全看見也就不需要提示了)。其實(shí)這類效果在 web 中,通過簡單的 CSS 也能輕易實(shí)現(xiàn)的。下面就來看看吧~


          一、CSS 實(shí)現(xiàn)思路


          相信大家都知道 title 這個(gè)屬性,原生的提示就用這個(gè)了,可以說從上古世紀(jì)就開始支持,下面是 MDN 上關(guān)于這個(gè)屬性的介紹


          title 全局屬性 包含了表示咨詢信息文本,和它屬于的元素相關(guān)。這個(gè)信息通常存在,但絕不必要,作為提示信息展示給用戶


          用法也非常簡單


          <p  class="txt" title="這是absolute">元素會(huì)被移出正常文檔流,并不為元素預(yù)留空間,通過指定元素相對(duì)于最近的非 static 定位祖先元素的偏移,來確定元素位置。絕對(duì)定位的元素可以設(shè)置外邊距(margins),且不會(huì)與其他邊距合并。
          </p>



          這里 title 的表現(xiàn)樣式還有停留時(shí)間與操作系統(tǒng)和瀏覽器有關(guān),也不可修改


          現(xiàn)在問題來了,title 屬性是預(yù)先添加的,并且無法通過樣式來控制是否顯示,那么,CSS 如何做到動(dòng)態(tài)處理呢?接著往下看


          雖然 CSS 無法動(dòng)態(tài)去改變 title 屬性,換個(gè)思路,假如有兩份相同的文本,其中一份是帶有 title 屬性的,比如


          <p class="wrap">
            <span class="txt">元素會(huì)被移出正常文檔流,并不為元素預(yù)留</span>
            <span class="title" title="元素會(huì)被移出正常文檔流,并不為元素預(yù)留">元素會(huì)被移出正常文檔流,并不為元素預(yù)留</span>
          </p>


          為了方便演示,這里給帶有 title 屬性的文本加上背景色,然后暫且稱為 文本A文本B 吧(以下適用),如下所示



          現(xiàn)在只需要在單行文本的時(shí)候展示 文本A ,多行文本的時(shí)候展示 文本B,就可以實(shí)現(xiàn)我們想要的功能了。


          那么,如何判斷文本是否超出一行呢?


          二、多行文本判斷


          首先,當(dāng)文本超出一行時(shí),高度必然會(huì)發(fā)生變化(),假設(shè)行高為 1.5,那么1行文本就是 1.5em,2行就是 3em,依次類推...


          但是,如果我們限制A的最大高度為兩行,那么一行和多行不就區(qū)分開了嗎(單行高度是1.5em,多行高度是3em)


          .txt{
            display: block;
            max-height: 3em;/*最大高度為2行*/
          }


          現(xiàn)在關(guān)鍵的一步來了,把文本B 往上移動(dòng)2行的距離,這里用相對(duì)定位實(shí)現(xiàn)(margin也可以)


          .title{
            position: relative;
            top: -3em; 
          }



          是不是有點(diǎn)奇怪了?其實(shí)就是往上位移了2行的距離,這樣在文本A 只有一行的時(shí)候,文本B 就剛好“出界”了;在文本A 有多行的時(shí)候,由于高度只有2行的高度,文本B 剛好“覆蓋”在上面,原理示意如下



          這時(shí),如果把父級(jí)的高度限制在一行,并且把文本B做單行截?cái)?/span>


          .wrap{
            line-height: 1.5;
            height: 1.5em;
          }
          .title{
            position: relative;
            top: -3em; 
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
          }


          這樣,在多行的時(shí)候,視野內(nèi)看到的就是文本B了,效果如下



          最后,把父級(jí)超出隱藏,還有文本B背景設(shè)置成父級(jí)相同的顏色就可以了~



          到這里為止,就實(shí)現(xiàn)了文章開頭所示的效果,完整代碼可以查看 codepen auto title(記得鼠標(biāo)放上去o~)


          為了更方便直觀的演示,這里做了一個(gè)類似的列表如下



          在線例子可訪問 codepen auto title list(記得鼠標(biāo)放上去o~)


          三、其他實(shí)用案例


          下面再介紹兩個(gè)更加實(shí)用的提示效果


          1. 中間省略效果


          細(xì)心的小伙伴可能已經(jīng)發(fā)現(xiàn),文章開頭的文本超出時(shí),省略號(hào)是在中間的。


          這種設(shè)計(jì)有什么好處呢?比如有時(shí)候很多文件的名稱是相同的,只有后綴名不同,或者很多會(huì)有個(gè)版本號(hào),舉個(gè)栗子:



          當(dāng)寬度較小時(shí),末尾出現(xiàn)了省略號(hào),這就很尷尬了,由于前面都是一樣的,一眼看上去完全分不清文件名哪個(gè)跟哪個(gè)()



          如果省略號(hào)在中間就很好區(qū)分了。那么,如何實(shí)現(xiàn)這一效果呢?


          借助上面的布局,下面所有分析只需要對(duì) 文本B 進(jìn)行處理就行了。關(guān)于中間省略效果,目前還沒有專門的 CSS 樣式可以實(shí)現(xiàn),不過可以模擬它,接著往下看


          首先,復(fù)制一份文本,這里使用 ::before 偽類通過 content 生成


          .title::before{
              content: attr(title);
          }


          很明顯,這個(gè)時(shí)候兩段文本是連接在一起的



          然后,給 :before 設(shè)置右浮動(dòng),寬度設(shè)置成 50%


          .title::before{
              content: attr(title);
              width: 50%;
              float: right;
          }



          接著,給 :before 設(shè)置超出截?cái)?/span>


          .title::before{
              /**/
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
          }



          最后,把 :before 換成前面省略號(hào)的效果,可以用 direction 實(shí)現(xiàn),關(guān)于 direction,平時(shí)可能沒怎么接觸,其實(shí)就是改變排版方向的,默認(rèn)是從左到右,省略號(hào)在右側(cè),如果改成從右到左,那么省略號(hào)也會(huì)在左邊,所以


          .title::before{
              /**/
              direction: rtl; /*從右到左*/
          }



          現(xiàn)在看看完成效果吧



          有一點(diǎn)小問題,中間的省略號(hào)左邊的空隙有時(shí)候有點(diǎn)大,如下



          這個(gè)是因?yàn)檫@個(gè)地方剛好換行了,所有空出了一小截。這里可以用文本兩端對(duì)齊簡單優(yōu)化一下


          .title{
              /**/
              text-align: justify;
          }


          這樣就能保證最右端的文字是靠右的(當(dāng)然文本的間隙會(huì)略微增加一點(diǎn)~),效果如下



          在線例子可訪問 codepen auto middle ellipsis(記得鼠標(biāo)放上去o~)


          1. 超出滾動(dòng)效果


          有時(shí)候,title 提示可能有點(diǎn)弱,不夠明顯,產(chǎn)品需要文本超出的時(shí)候,鼠標(biāo)放上去可以自動(dòng)滾動(dòng)起來,類似這樣的效果



          如何實(shí)現(xiàn)的呢?其實(shí)借助上面的布局,這里實(shí)現(xiàn)就非常容易了,只需要對(duì) 文本B 做滾動(dòng)動(dòng)畫即可,關(guān)于 CSS3實(shí)現(xiàn)無縫滾動(dòng),這里介紹一下實(shí)現(xiàn):


          要做到首尾無縫滾動(dòng),首先需要復(fù)制一份相同的文本,這里使用 ::after 偽元素通過 content 生成


          .title::after{
              content: attr(data-title);/*復(fù)制一份文本,下圖綠色的部分*/
          }



          現(xiàn)在需要在一行顯示,不換行


          .title{
              /**/
              white-space: nowrap;
          }



          可以看到,雖然不換行了,但是寬度還是父級(jí)的寬度,并沒有跟隨文字內(nèi)容,這時(shí),可以設(shè)置 display: inline-block


          .title{
              /**/
              display: inline-block;
              white-space: nowrap;
          }



          關(guān)于寬度跟隨文字內(nèi)容,其實(shí)還可以用 width: max-content 實(shí)現(xiàn),兼容性略差


          .title{
              /*
              display: inline-block;
              white-space: nowrap;
              */
              width: max-content;
          }


          接著,設(shè)置 animation 動(dòng)畫即可,只需要當(dāng) transform 位移到 自身一半50% 時(shí) 迅速歸位,就能達(dá)到無縫銜接的效果,如下


          .title:hover{
              /**/
              animation: move 10s .3s linear infinite;
          }
          @keyframes move {
              to {
                  transform: translateX(-50%); /*位移到 50% 時(shí) 迅速歸位*/
              }
          }



          這里首尾的間隙是用 padding 實(shí)現(xiàn)的


          .title::after{
              content: attr(data-title);
              padding: 0 5em;/*無縫滾動(dòng)的首位間隙*/
          }


          在線例子可訪問 codepen auto scroll list(記得鼠標(biāo)放上去o~)


          唯一的缺陷是動(dòng)畫時(shí)間是固定的,如果文本很長,可能出現(xiàn)滾動(dòng)過快的問題


          四、總結(jié)和說明


          本文介紹了一種全新 CSS 自動(dòng)判斷多行文本的思路,并且?guī)?個(gè)人性化的小交互??偟膩碚f,其實(shí)也沒用到太多的技巧(主要還是想象力),結(jié)構(gòu)還不算復(fù)雜,相信一步步看下來不會(huì)有很大的難度。


          重點(diǎn)依舊是上面的布局部分,布局出來了,下面很多擴(kuò)展效果也就迎刃而解了。由于只用到了 CSS2 相關(guān)特性(max-height、文本截?cái)嗟龋?,兼容性也是棒棒的,?shí)測可以兼容到 IE7+(全兼容,放心使用),后面的超出滾動(dòng)效果兼容到 IE10+, 現(xiàn)在總結(jié)一下實(shí)現(xiàn)重點(diǎn):


          1. 轉(zhuǎn)換思路,節(jié)點(diǎn)復(fù)制是一個(gè)好辦法
          2. 通過 max-height 可以判斷單行和多行
          3. 靈活運(yùn)用 CSS 障眼法 層級(jí)覆蓋和超出隱藏
          4. direction:rtl 可以實(shí)現(xiàn)前置省略號(hào)的效果
          5. 中間省略號(hào)可以用兩段文本拼接的方式模擬
          6. 寬度跟隨文本自適應(yīng)可以用 inline-block 實(shí)現(xiàn)
          7. 無縫滾動(dòng)效果可以用位移 -50% 來實(shí)現(xiàn)


          好了,這樣一個(gè)成本低廉,又非常人性化的小功能,趕緊用起來吧。如果大家覺得不錯(cuò)的話,歡迎點(diǎn)贊、收藏、轉(zhuǎn)發(fā)???~

          References

          [1] [codepen auto title] https://codepen.io/xboxyan/pen/WNppXxx

          [2] [codepen auto title list] https://codepen.io/xboxyan/pen/eYvveBe

          [3] [codepen auto middle ellipsis] https://codepen.io/xboxyan/pen/VwpPNbm

          [3] [codepen auto scroll list] https://codepen.io/xboxyan/pen/ZEeerBb

          1. /隱藏不留痕跡
          2. <input type="hidden" />

          主站蜘蛛池模板: 视频一区二区在线播放| 国产精品亚洲专一区二区三区| 国产一区二区三区福利| 久久精品国产一区二区| 亚洲av综合av一区二区三区| 国产成人无码AV一区二区| 中文字幕无线码一区二区| 国产在线观看一区精品| 日韩精品一区二区三区毛片 | 影院成人区精品一区二区婷婷丽春院影视 | 国产无套精品一区二区| 国产视频一区二区在线观看| 久久精品无码一区二区无码| 亚洲无线码一区二区三区| 免费无码一区二区| 国产一区二区好的精华液| 国产日韩精品视频一区二区三区 | 日韩爆乳一区二区无码| 国精产品一区一区三区免费视频 | 精品视频一区二区三区在线播放| 亚洲制服丝袜一区二区三区| 香蕉免费一区二区三区| 国产一区二区视频在线观看| 亚洲AV日韩精品一区二区三区| 国产成人精品一区二三区熟女| 国产精品高清一区二区人妖| 91在线一区二区三区| 久久久久人妻一区精品性色av| 国产一区二区三区不卡观| 成人区人妻精品一区二区不卡网站 | 久久99精品免费一区二区| 日本一区二区三区中文字幕| 国模无码视频一区| 日本免费电影一区| 午夜爽爽性刺激一区二区视频| 无码人妻一区二区三区免费| AV天堂午夜精品一区二区三区| 成人精品一区二区电影| 国产伦一区二区三区免费| 男人免费视频一区二区在线观看| 冲田杏梨高清无一区二区|