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 在线观看三级网站,91精品国产91久久久久,99成人在线

          整合營(yíng)銷服務(wù)商

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

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

          程序猿HTML5與原生javascript開(kāi)發(fā)高級(jí)拖拽照片墻

          擊查看照片墻動(dòng)圖特效

          如何提高javascript邏輯思維?如何開(kāi)發(fā)特效?


          javascript課題:高級(jí)原生javascript拖拽照片墻

          知識(shí)點(diǎn):HTML/CSS布局,兼容性處理

          原生javascript DOM操作,鼠標(biāo)拖拽功能,

          碰撞檢測(cè),勾股定理計(jì)算最小距離,原生javascript運(yùn)動(dòng)框架封裝,

          面向過(guò)程函數(shù)式封裝思維。2017就業(yè)形勢(shì)分析等

          PS:這個(gè)特效對(duì)于布局的要求并不高,大部分學(xué)習(xí)web前端的朋友都可以做出來(lái),但是對(duì)

          javascript的要求不低,特別是對(duì)于邏輯思維,以及一些兼容性的處理,還有js的碰撞檢測(cè),

          算法,在這個(gè)案例里我們用的都是原生 javascript代碼,原生JS一定是我們面試中必須要學(xué)的

          東西,而不是能用jquery湊數(shù)的。

          前端學(xué)習(xí)群47059+3776,歡迎初學(xué)和進(jìn)階中的伙伴,每日分享干貨!


          以下附上HTML/JAVASCRIPT源碼:

          點(diǎn)擊查看源碼動(dòng)圖

          頭條號(hào)里有許多web前端學(xué)習(xí)視頻,企業(yè)常用特效/案例/項(xiàng)目,敬請(qǐng)關(guān)注!

          文末調(diào)查,你覺(jué)得前端工作難找嗎?

          . 前言

          在日常工作中,為了更直觀的發(fā)現(xiàn)數(shù)據(jù)中隱藏的規(guī)律,察覺(jué)到變量之間的互動(dòng)關(guān)系,人們常常借助可視化幫助我們更好的給他人解釋現(xiàn)象,做到一圖勝千文的說(shuō)明效果。

          在Python中,常見(jiàn)的數(shù)據(jù)可視化庫(kù)有:

          • matplotlib 是最常見(jiàn)的2維庫(kù),可以算作可視化的必備技能庫(kù),由于matplotlib是比較底層的庫(kù),api很多,代碼學(xué)起來(lái)不太容易。

          • seaborn 是建構(gòu)于matplotlib基礎(chǔ)上,能滿足絕大多數(shù)可視化需求。更特殊的需求還是需要學(xué)習(xí)matplotlib。

          上述兩個(gè)庫(kù)都是靜態(tài)的可視化庫(kù),大多數(shù)做過(guò)前端Web開(kāi)發(fā)的同學(xué)都用到過(guò)Echarts.js庫(kù),它是一款前端可視化的JS庫(kù)、功能非常之強(qiáng)大。在使用之前,需要導(dǎo)入js庫(kù)到項(xiàng)目中。對(duì)于平時(shí)用Python較多的同學(xué)而言,如果每次實(shí)現(xiàn)可視化功能(特別是一些小需求),都需要引用js庫(kù)顯然不太方便,于是就在想有沒(méi)有Python與Echarts結(jié)合的輪子。答案是肯定的,在Github中就有一個(gè)國(guó)人開(kāi)發(fā)的一個(gè)Echarts與Python結(jié)合的輪子:Pyecharts,它不僅很好的兼容了web項(xiàng)目,而且可以做到可視化的動(dòng)態(tài)效果。

          2. Pyecharts介紹

          Pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。常規(guī)的Echarts 是由百度開(kāi)源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù),主要用于數(shù)據(jù)可視化。簡(jiǎn)單來(lái)說(shuō),Pyecharts是一款將python與echarts結(jié)合的強(qiáng)大的數(shù)據(jù)可視化工具。

          使用 Pyecharts 可以生成獨(dú)立的網(wǎng)頁(yè),也可以在 flask , Django 中集成使用。

          項(xiàng)目介紹:

          http://pyecharts.herokuapp.com/

          項(xiàng)目源碼:

          https://github.com/pyecharts/pyecharts

          從項(xiàng)目文檔介紹可知, pyecharts目前分為兩個(gè)大的系列版本:0.5.x 和v1.x.x。

          V0.5.x

          支持 Python2.7,3.4+

          0.5.x 版本將不再進(jìn)行維護(hù),文檔位于 05x-docs.pyecharts.org。

          V1

          僅支持 Python3.6+

          新版本系列將從 v1.0.0 開(kāi)始,文檔位于 pyecharts.org;示例位于 gallery.pyecharts.org

          PS: v0.5.x 和 V1 間不兼容,V1 是一個(gè)全新的版本。

          3. Pyecharts支持30+種可視化圖表

          得益于Echarts 項(xiàng)目,目前Pyecharts支持 30+ 種常見(jiàn)圖表,如下所示:

          • Bar(柱狀圖/條形圖)

          • Bar3D(3D 柱狀圖)

          • Boxplot(箱形圖)

          • EffectScatter(散點(diǎn)圖)

          • Funnel(漏斗圖)

          • Gauge(儀表盤)

          • Geo(地理坐標(biāo)系)

          • Graph(關(guān)系圖)

          • HeatMap(熱力圖)

          • Kline(K線圖)

          • Line(折線/面積圖)

          • Line3D(3D 折線圖)

          • Liquid(水球圖)

          • Map(地圖)

          • Parallel(平行坐標(biāo)系)

          • Pie(餅圖)

          • Polar(極坐標(biāo)系)

          • Radar(雷達(dá)圖)

          • Sankey(桑基圖)

          • Scatter(散點(diǎn)圖)

          • Scatter3D(3D 散點(diǎn)圖)

          • ThemeRiver(主題河流圖)

          • WordCloud(詞云圖)

          4. Pyecharts安裝

          1、pip 安裝

          # 安裝 v1 以上版本
          $ pip install pyecharts -U

          # 如果需要安裝 0.5.11 版本的開(kāi)發(fā)者,可以使用
          # pip install pyecharts==0.5.11

          2、源碼安裝

          # v1 以上版本
          $ git clone https://github.com/pyecharts/pyecharts.git
          # 如果需要安裝 0.5.11 版本,請(qǐng)使用 git clone https://github.com/pyecharts/pyecharts.git -b v05x
          $ cd pyecharts
          $ pip install -r requirements.txt
          $ python setup.py install

          在使用pip安裝庫(kù)時(shí),由于墻的原因,下載時(shí)可能會(huì)出現(xiàn)斷線和速度過(guò)慢的問(wèn)題導(dǎo)致下載失敗,所以建議通過(guò)豆瓣源或清華鏡像來(lái)進(jìn)行下載:

          # 豆瓣源下載
          pip install -i https://pypi.douban.com/simple pyecharts

          # 清華鏡像源
          pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts

          PS: 這里要專門說(shuō)明一下,自從 0.3.2 開(kāi)始,為了縮減項(xiàng)目本身的體積以及維持 pyecharts 項(xiàng)目的輕量化運(yùn)行,pyecharts 將不再自帶地圖 js 文件。如用戶需要用到地圖圖表(Geo、Map),可自行安裝對(duì)應(yīng)的地圖文件包。

          # 通過(guò)pip命令進(jìn)行安裝
          pip install echarts-countries-pypkg
          pip install echarts-china-provinces-pypkg
          pip install echarts-china-cities-pypkg

          5. Pyecharts官方示例實(shí)戰(zhàn)

          現(xiàn)在我們來(lái)開(kāi)始正式使用pycharts,這里我們先直接使用官方的數(shù)據(jù),感受一下可視化展示效果。

          from pyecharts.charts import Bar
          from pyecharts import options as opts

          # V1 版本開(kāi)始支持鏈?zhǔn)秸{(diào)用
          bar = (
          Bar
          .add_xaxis(["襯衫", "毛衣", "領(lǐng)帶", "褲子", "風(fēng)衣", "高跟鞋", "襪子"])
          .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
          .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
          .set_global_opts(title_opts=opts.TitleOpts(title="某商場(chǎng)銷售情況"))
          )
          bar.render_notebook

          在這里順便安利一下jupyter,pyecharts在v0.1.9.2版本開(kāi)始,在jupyter上可以直接調(diào)用實(shí)例(例如上方直接調(diào)用bar.render_notebook())就可以將圖表直接展示出來(lái),非常方便。

          如果腳本在非jupyter環(huán)境運(yùn)行,圖表渲染方法需改為:

          bar.render

          默認(rèn)情況下,pycharts生成圖表為HTML格式,也支持生成png圖片格式,如下:

          from snapshot_selenium import snapshot as driver

          from pyecharts import options as opts
          from pyecharts.charts import Bar
          from pyecharts.render import make_snapshot


          def bar_chart -> Bar:
          c = (
          Bar
          .add_xaxis(["襯衫", "毛衣", "領(lǐng)帶", "褲子", "風(fēng)衣", "高跟鞋", "襪子"])
          .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
          .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
          .reversal_axis
          .set_series_opts(label_opts=opts.LabelOpts(position="right"))
          .set_global_opts(title_opts=opts.TitleOpts(title="Bar-測(cè)試渲染圖片"))
          )
          return c

          # 需要安裝 snapshot-selenium 或者 snapshot-phantomjs
          make_snapshot(driver, bar_chart.render, "bar.png")

          6. Pyecharts幾種高頻使用的可視化圖表

          在上面官方示例中的柱狀圖表我們已經(jīng)能感受到pycharts可視化功能的強(qiáng)大,最后再介始幾種日常工作中常用的可視化圖表及對(duì)應(yīng)示例。

          6.1 Pie餅狀圖

          from pyecharts import options as opts
          from pyecharts.charts import Pie
          from pyecharts.faker import Faker

          pie = (
          Pie
          .add("", [list(z) for z in zip(Faker.choose(), Faker.values())])
          .set_colors(["blue", "green", "yellow", "red", "pink", "orange", "purple"])
          .set_global_opts(title_opts=opts.TitleOpts(title="Pie-設(shè)置顏色"))
          .set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}"))
          )

          pie.render_notebook

          6.2 儀表盤

          from pyecharts import options as opts
          from pyecharts.charts import Gauge

          g = (
          Gauge
          .add("", [("完成率", 66.6)])
          .set_global_opts(title_opts=opts.TitleOpts(title="Gauge-基本示例"))

          )
          g.render_notebook

          6.3 折線圖

          import pyecharts.options as opts
          from pyecharts.charts import Line
          from pyecharts.faker import Faker

          c = (
          Line
          .add_xaxis(Faker.choose)
          .add_yaxis("商家A", Faker.values, is_smooth=True)
          .add_yaxis("商家B", Faker.values, is_smooth=True)
          .set_global_opts(title_opts=opts.TitleOpts(title="Line-smooth"))

          )
          c.render_notebook

          6.4 K線圖

          from pyecharts import options as opts
          from pyecharts.charts import Kline

          data = [
          [2320.26, 2320.26, 2287.3, 2362.94],
          [2300, 2291.3, 2288.26, 2308.38],
          [2295.35, 2346.5, 2295.35, 2345.92],
          [2347.22, 2358.98, 2337.35, 2363.8],
          [2360.75, 2382.48, 2347.89, 2383.76],
          [2383.43, 2385.42, 2371.23, 2391.82],
          [2377.41, 2419.02, 2369.57, 2421.15],
          [2425.92, 2428.15, 2417.58, 2440.38],
          [2411, 2433.13, 2403.3, 2437.42],
          [2432.68, 2334.48, 2427.7, 2441.73],
          [2430.69, 2418.53, 2394.22, 2433.89],
          [2416.62, 2432.4, 2414.4, 2443.03],
          [2441.91, 2421.56, 2418.43, 2444.8],
          [2420.26, 2382.91, 2373.53, 2427.07],
          [2383.49, 2397.18, 2370.61, 2397.94],
          [2378.82, 2325.95, 2309.17, 2378.82],
          [2322.94, 2314.16, 2308.76, 2330.88],
          [2320.62, 2325.82, 2315.01, 2338.78],
          [2313.74, 2293.34, 2289.89, 2340.71],
          [2297.77, 2313.22, 2292.03, 2324.63],
          [2322.32, 2365.59, 2308.92, 2366.16],
          [2364.54, 2359.51, 2330.86, 2369.65],
          [2332.08, 2273.4, 2259.25, 2333.54],
          [2274.81, 2326.31, 2270.1, 2328.14],
          [2333.61, 2347.18, 2321.6, 2351.44],
          [2340.44, 2324.29, 2304.27, 2352.02],
          [2326.42, 2318.61, 2314.59, 2333.67],
          [2314.68, 2310.59, 2296.58, 2320.96],
          [2309.16, 2286.6, 2264.83, 2333.29],
          [2282.17, 2263.97, 2253.25, 2286.33],
          [2255.77, 2270.28, 2253.31, 2276.22],
          ]


          k = (
          Kline
          .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
          .add_yaxis("k線圖", data)
          .set_global_opts(
          yaxis_opts=opts.AxisOpts(is_scale=True),
          xaxis_opts=opts.AxisOpts(is_scale=True),
          title_opts=opts.TitleOpts(title="K線圖-基本示例"),
          )

          )
          k.render_notebook

          6.5 地圖Map

          from pyecharts import options as opts
          from pyecharts.charts import Map
          from pyecharts.faker import Faker

          map = (
          Map
          .add("中國(guó)地圖", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
          .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
          )
          map.render_notebook

          6.6 詞云圖

          import pyecharts.options as opts
          from pyecharts.charts import WordCloud


          data = [
          ("生活資源", "999"),
          ("供熱管理", "888"),
          ("供氣質(zhì)量", "777"),
          ("生活用水管理", "688"),
          ("一次供水問(wèn)題", "588"),
          ("交通運(yùn)輸", "516"),
          ("城市交通", "515"),
          ("環(huán)境保護(hù)", "483"),
          ("房地產(chǎn)管理", "462"),
          ("城鄉(xiāng)建設(shè)", "449"),
          ("社會(huì)保障與福利", "429"),
          ("社會(huì)保障", "407"),
          ("文體與教育管理", "406"),
          ("公共安全", "406"),
          ("公交運(yùn)輸管理", "386"),
          ("出租車運(yùn)營(yíng)管理", "385"),
          ("供熱管理", "375"),
          ("市容環(huán)衛(wèi)", "355"),
          ("自然資源管理", "355"),
          ("粉塵污染", "335"),
          ("噪聲污染", "324"),
          ("土地資源管理", "304"),
          ("物業(yè)服務(wù)與管理", "304"),
          ("醫(yī)療衛(wèi)生", "284"),
          ("粉煤灰污染", "284"),
          ("占道", "284"),
          ("供熱發(fā)展", "254"),
          ("農(nóng)村土地規(guī)劃管理", "254"),
          ("生活噪音", "253"),
          ("供熱單位影響", "253"),
          ("城市供電", "223"),
          ("房屋質(zhì)量與安全", "223"),
          ("大氣污染", "223"),
          ("房屋安全", "223"),
          ("文化活動(dòng)", "223"),
          ("拆遷管理", "223"),
          ("公共設(shè)施", "223"),
          ("供氣質(zhì)量", "223"),
          ("供電管理", "223"),
          ("燃?xì)夤芾?, "152"),
          ("教育管理", "152"),
          ("醫(yī)療糾紛", "152"),
          ("執(zhí)法監(jiān)督", "152"),
          ("設(shè)備安全", "152"),
          ("政務(wù)建設(shè)", "152"),
          ("縣區(qū)、開(kāi)發(fā)區(qū)", "152"),
          ("宏觀經(jīng)濟(jì)", "152"),
          ("教育管理", "112"),
          ("社會(huì)保障", "112"),
          ("生活用水管理", "112"),
          ("物業(yè)服務(wù)與管理", "112"),
          ("分類列表", "112"),
          ("農(nóng)業(yè)生產(chǎn)", "112"),
          ("二次供水問(wèn)題", "112"),
          ("城市公共設(shè)施", "92"),
          ("拆遷政策咨詢", "92"),
          ("物業(yè)服務(wù)", "92"),
          ("物業(yè)管理", "92"),
          ("社會(huì)保障保險(xiǎn)管理", "92"),
          ("低保管理", "92"),
          ("文娛市場(chǎng)管理", "72"),
          ("城市交通秩序管理", "72"),
          ("執(zhí)法爭(zhēng)議", "72"),
          ("商業(yè)煙塵污染", "72"),
          ("占道堆放", "71"),
          ("地上設(shè)施", "71"),
          ("水質(zhì)", "71"),
          ("無(wú)水", "71"),
          ("供熱單位影響", "71"),
          ("人行道管理", "71"),
          ("主網(wǎng)原因", "71"),
          ("集中供熱", "71"),
          ("客運(yùn)管理", "71"),
          ("國(guó)有公交(大巴)管理", "71"),
          ("工業(yè)粉塵污染", "71"),
          ("治安案件", "71"),
          ("壓力容器安全", "71"),
          ("身份證管理", "71"),
          ("群眾健身", "41"),
          ("工業(yè)排放污染", "41"),
          ("破壞森林資源", "41"),
          ("市場(chǎng)收費(fèi)", "41"),
          ("生產(chǎn)資金", "41"),
          ("生產(chǎn)噪聲", "41"),
          ("農(nóng)村低保", "41"),
          ("勞動(dòng)爭(zhēng)議", "41"),
          ("勞動(dòng)合同爭(zhēng)議", "41"),
          ("勞動(dòng)報(bào)酬與福利", "41"),
          ("醫(yī)療事故", "21"),
          ("停供", "21"),
          ("基礎(chǔ)教育", "21"),
          ("職業(yè)教育", "21"),
          ("物業(yè)資質(zhì)管理", "21"),
          ("拆遷補(bǔ)償", "21"),
          ("設(shè)施維護(hù)", "21"),
          ("市場(chǎng)外溢", "11"),
          ("占道經(jīng)營(yíng)", "11"),
          ("樹木管理", "11"),
          ("農(nóng)村基礎(chǔ)設(shè)施", "11"),
          ("無(wú)水", "11"),
          ("供氣質(zhì)量", "11"),
          ("停氣", "11"),
          ("燃?xì)夤芾?, "11"),
          ("市容環(huán)衛(wèi)", "11"),
          ("新聞傳媒", "11"),
          ("人才招聘", "11"),
          ("市場(chǎng)環(huán)境", "11"),
          ("行政事業(yè)收費(fèi)", "11"),
          ("食品安全與衛(wèi)生", "11"),
          ("城市交通", "11"),
          ("房地產(chǎn)開(kāi)發(fā)", "11"),
          ("房屋配套問(wèn)題", "11"),
          ("物業(yè)服務(wù)", "11"),
          ("物業(yè)管理", "11"),
          ("占道", "11"),
          ("園林綠化", "11"),
          ("戶籍管理及身份證", "11"),
          ("公交運(yùn)輸管理", "11"),
          ("公路(水路)交通", "11"),
          ("房屋與圖紙不符", "11"),
          ("有線電視", "11"),
          ("社會(huì)治安", "11"),
          ("林業(yè)資源", "11"),
          ("其他行政事業(yè)收費(fèi)", "11"),
          ("經(jīng)營(yíng)性收費(fèi)", "11"),
          ("食品安全與衛(wèi)生", "11"),
          ("體育活動(dòng)", "11"),
          ("有線電視安裝及調(diào)試維護(hù)", "11"),
          ("低保管理", "11"),
          ("勞動(dòng)爭(zhēng)議", "11"),
          ("社會(huì)福利及事務(wù)", "11"),
          ("一次供水問(wèn)題", "11"),
          ]


          c=(
          WordCloud
          .add(series_name="熱點(diǎn)分析", data_pair=data, word_size_range=[6, 66])
          .set_global_opts(
          title_opts=opts.TitleOpts(
          title="熱點(diǎn)分析", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
          ),
          tooltip_opts=opts.TooltipOpts(is_show=True),
          )

          )
          c.render_notebook

          上述示例僅供參考,讀者們結(jié)合日常工作應(yīng)用,學(xué)會(huì)舉一反三才是關(guān)健,更多Pychart示例介紹可見(jiàn):代碼示例

          我們開(kāi)門見(jiàn)山:編寫優(yōu)秀的 CSS 代碼是件十分痛苦的事情。很多開(kāi)發(fā)人員都不想做 CSS 開(kāi)發(fā)。你讓我干什么都行,但是 CSS 還是算了吧。

          前端560集視頻學(xué)習(xí)資料需要的私信小編“資料”領(lǐng)取

          在我創(chuàng)建應(yīng)用的時(shí)候,從來(lái)都無(wú)法從 CSS 中享受到樂(lè)趣。但是你也躲不過(guò)去,是不是?我是說(shuō),我們?nèi)褙炞⒂谟脩趔w驗(yàn),但是如今設(shè)計(jì)也是不容忽視的部分。

          項(xiàng)目剛開(kāi)始的時(shí)候,一切都很美好。你有一些 CSS 選擇器,諸如 .title、input、#app 等等,非常簡(jiǎn)單。但是隨著應(yīng)用逐漸變大,CSS 也越來(lái)越糟。你對(duì) CSS 選擇器感到困惑。你會(huì)發(fā)現(xiàn)自己寫了一些 div#app .list li.item a 之類的東西。然后你一遍又一遍地寫相同的代碼。最后你把所有代碼都扔到文件末尾,因?yàn)槟愀静辉诤?,CSS 爛透了。結(jié)果你得到了 500 行根本無(wú)法維護(hù)的 CSS 代碼。

          我本人經(jīng)常和 CSS 苦苦糾纏。

          今天目的是:讓你寫出更好的 CSS。我想讓你回顧一下舊項(xiàng)目,然后想一想:天啊,我怎么會(huì)寫這樣的東西?但是,你可能會(huì)想:好,你說(shuō)的很對(duì),但是 CSS 框架呢?CSS 框架就是為了幫助我們寫出更好的 CSS 代碼,不是嗎?

          當(dāng)然,但是 CSS 框架也有一些缺點(diǎn):

          • 它經(jīng)常會(huì)使用平淡無(wú)奇的設(shè)計(jì)。
          • CSS 框架使得定制很困難,更不用說(shuō)超越框架了。
          • 在使用之前,你必須先學(xué)習(xí)如何使用它們。

          既然你關(guān)注了這篇文章,那么你一定有自己的原因,對(duì)不對(duì)?好了,廢話不多說(shuō),讓我們開(kāi)始學(xué)習(xí)如何寫出更好地 CSS 代碼。

          注意:這篇文章不是關(guān)于如何設(shè)計(jì)漂亮的應(yīng)用。本文是關(guān)于如何寫出便于維護(hù)的 CSS 代碼以及如何組織代碼。

          1. SCSS

          將在下面例子中使用 SCSS。SCSS 是一個(gè) CSS 的預(yù)處理器。從根本上來(lái)說(shuō),它是一個(gè) CSS 的超集:它增加了一些很酷的功能,例如變量,嵌套,導(dǎo)入和混入(mixins)等。

          下面介紹一些我們即將使用的功能。

          變量

          你可以在 SCSS 中使用變量。主要的好處在于可重用性。我們假設(shè)你的應(yīng)用有一組顏色。主色是藍(lán)色。

          那么你處處都用到了藍(lán)色:按鈕的 background-color(背景色),標(biāo)題和鏈接的 color(顏色)。藍(lán)色無(wú)處不在。

          突然有一天,你不喜歡藍(lán)色,開(kāi)始喜歡綠色。

          • 如果沒(méi)有變量:你需要修改所有包含藍(lán)色設(shè)置的代碼。
          • 如果使用了變量:你只需要修改這個(gè)變量。
          // Declare a variable$primary-color: #0099ff; // References a variableh1 { color: $primary-color;}
          

          嵌套

          你可以在 SCSS 中使用嵌套。那么如下代碼:

          h1 { 
           font-size: 5rem; 
           color: blue;
          } 
          h1 span { 
           color: green;
          }
          

          可以寫成:

          h1 { 
           font-size: 5rem; 
           color: blue; 
           span { 
           color: green; 
           }
          }
          

          可讀性更好了,是不是?你可以利用嵌套在更短時(shí)間內(nèi)寫出復(fù)雜的選擇器。

          分塊與導(dǎo)入

          從可維護(hù)性和可讀性的角度來(lái)說(shuō),你無(wú)法將所有代碼都保存在一個(gè)大文件中。在實(shí)驗(yàn)或構(gòu)建小型應(yīng)用時(shí),這種做法尚且可行,但是到了專業(yè)的級(jí)別……想都不要想。很幸運(yùn)的是,有了 SCSS 后,我們依然可以繼續(xù)沿用這種做法。

          你可以通過(guò)使用前下劃線給文件命名,來(lái)創(chuàng)建分塊的文件:_animations.scss,_ base.scss,_variables.scss 等。

          至于導(dǎo)入,你可以使用 @import 指令。例如,你可以這么做:

          // _animations.scss
          @keyframes appear { 
           0% {opacity: 0;} 
           100% {opacity: 1;}
          }
          // header.scss
          @import "animations";
          h1 { 
           animation: appear 0.5s ease-out;
          }
          

          哈哈!你可能想,你在這里犯了一個(gè)錯(cuò)誤!應(yīng)該是 _animations.scss,而不是 animations;)

          非也。如果你使用這種命名方式,聰明的 SCSS 知道你指的是分塊文件。

          關(guān)于變量、嵌套、分塊和導(dǎo)入,我們需要了解的就這么多。SCSS 還有很多其他功能:比如混入、繼承和其他指令(@for,@if,等等),在此不做一一介紹了。

          前端560集視頻學(xué)習(xí)資料+教程 限時(shí)免費(fèi)分享

          需要的轉(zhuǎn)發(fā)文章+私信小編“資料”領(lǐng)取


          主站蜘蛛池模板: 中文字幕精品无码一区二区| 亚洲欧美日韩一区二区三区在线 | 国产吧一区在线视频| 无码av中文一区二区三区桃花岛| 精品少妇ay一区二区三区| tom影院亚洲国产一区二区| 无码人妻一区二区三区兔费| 久久青草国产精品一区| 国产高清视频一区二区| 国产韩国精品一区二区三区久久| 国产在线观看一区精品| 精品一区二区三区四区电影| 无码午夜人妻一区二区不卡视频| 久久久精品一区二区三区| 国产精品99无码一区二区| 国产精品成人一区二区| 99精品一区二区免费视频| 国模无码视频一区| 波多野结衣精品一区二区三区| 亚洲一区二区电影| 伊人色综合一区二区三区| 日本片免费观看一区二区| 日韩精品一区二区午夜成人版 | 色欲精品国产一区二区三区AV| 精品一区二区三区免费| 伊人久久一区二区三区无码| 亚洲国产专区一区| 亚洲精品伦理熟女国产一区二区 | 国产福利91精品一区二区三区| 国产丝袜无码一区二区视频| 性无码免费一区二区三区在线| 日本精品3d动漫一区二区| 国产主播一区二区| 美女视频黄a视频全免费网站一区| 少妇激情AV一区二区三区| 国产亚洲情侣一区二区无码AV| 怡红院美国分院一区二区| 久久高清一区二区三区| 亚洲第一区精品观看| 深田咏美AV一区二区三区| 国产av一区二区三区日韩|