• 2010-08-27

    تور كۆرگۈچلەرنىڭ CSSنى يەكلەش Hackمەسىلىسىنى ھەل قىلىش - [blogبىلىملىرى]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dunyakara-logs/73637455.html

    بلوگ ياساۋاتقان، بلوگ ئۇسلۇبىنى ئۆزگەرتىپ قاچىلاۋاتقان ۋە ياكى بلوگ كودلىرى بىلەن ھەپىلىشىۋاتقان بلوگگىرلارغا مەلۇم بولغان بولىشى مۇمكىنكى مەلۇم بىر خىل ئۇسلۇپنى ھەر خىل تور كۆرگۈچلەردە كۆرسىڭىز ئۇسلۇپلارنىڭ بەت يۈزى قۇرۇلمىسى ھەرخىل ئۆزگۈرۈپ كېتىدىغان ئەھۋاللار يۈز بېرىدۇ، بۇنىڭدىكى سەۋەپ زادى قەيەردە؟

    بۇنداق مەسىلىنىڭ توغرا بولغان جاۋابى شۇكى: تور دۇنياسىدا تور كۆرگۈچلەرنىڭ تۈرى ھەرخىل بولۇپ كەتتى، مەسىلەن بىزنىڭ بىلىدىغانلىرىمىزدىن IE5,IE5.5,IE6.0,IE7,IE8,IE9,Mozilla Firefox, Netscape Navigator, Opera,  Maxthon, Google Chrome يەنە ئۇندىن باشقىمۇ 50~60خىل تور كۆرگۈچ بار، مۇشۇنداق تور كۆرگۈچلەرنىڭ cssكودىنى تونۇشى ۋە ئوقۇشى ئوخشاش ئەمەس،ئۇنىڭ ئۈستىگە cssكودلىرىنىڭ ئىجرا بولۇش ئىلگىرى-كېيىنلىك تەرتىپىمۇ ئوخشاش ئەمەس شۇڭا ئوخشىمىغان تور كۆرگۈچتە ئاچقان بلوگ ئۇسلۇپلىرىمىز ئوخشىمىغان قىياپەتتە كۆز ئالدىمىزدا نامايەن بولۇپ قالىدۇ. بۇ مەسىلىنى ھەل قىلىشنى يەنە شۇ ئېنگىلىسلار css hack دەپ ئاتايدىكەن، يولداشلارمۇ ھەم شۇنداق ئاتايدىكەن، ئەمدىكى مەسىلە بىز تىلىمىزدا قانداق ئاتىساق بولار

     

    hackنىڭ تۇراقلىق مەنىسى بويىچە تەرجىمە قىلساق ئەلۋەتتە بىزنىڭ تىلىمىزغا ئۇدۇل كەلمەيدىكەن، ئەگەر hack it بولسا "بىر تەرەپ قىلىش"،"تاقابىل تۇرۇش"،"سىغدۇرۇش"،"كۆنۈشۈش" دىگەندەك مەنىلەرگە ئىگە بولىدىكەن، بۇ مەنىلەرگە ھەم ئۆزىمىز كۆرىۋاتقان مەسىلىنىڭ ماھىيىتىگە بىرلەشتۈرۈپ Hackنى مەن ماسلاشتۇرۇش دەپ ئالدىم. يەنى css hack دىگەن ئاتالغۇنى "cssنى ماسلاشتۇرۇش" يەنى cssنى تۈرلۈك تور كۆرگۈچلەرگە ماسلاشتۇرۇش دەپ ئالدىم.

    ئەمدى بۇ مەسىلىنى ھەل قىلىش ئۈچۈن بىز ئوخشىمىغان توركۆرگۈچلەرگە ماس كېلىدىغان cssكودىنى يېزىپ چىقىشىمىزغا توغرا كېلىدۇ، مۇشۇنداق قىلالىغاندىلا ئاندىن بلوگلىرىمىزنى قايسىلا توركۆرگۈچتە كۆرمەيلى ئوخشاش بىر خىل كۆرۈنۈشكە ئاساسىي جەھەتتىن ئىگە قىلغىلى بولىدۇ.

     

     

     

     

    بىرىنچى مەسىلە:بىز توربەت لاھىيەلىسەك ياكى مەلۇم بىر خىل بلوگ ئۇسلۇبىنى لاھىيەلىسەك ئالدى بىلەن IE6ۋە IE7دە ئاندىن كېيىن FireFoxدا سىناش ئېلىپ بېرىشىمىز كېرەك.

    ھازىر IEتور كۆرگۈچلىرىنىڭ نەشرى ئۆزلۈكسىز يېڭىلىنىۋاتقان بولسىمۇ بىز ئۇلارنى ئىشلەتمەسلىككە ئامالىمىز يوق ، چۈنكى مۇشۇنداق كۆپلىگەن تور كۆرگۈچلەرنىڭ ئىچىدە يەنىلا IEتور كۆرگۈچنى ئىشلىتىدىغانلار زور سالماقنى ئىگەللەيدۇ، شۇڭلاشقا ئالدى بىلەن لاھىيەلىگەن توربەتنى  IE6ۋە IE7لەردە سىناش ئېلىپ بېرىشىمىز كېرەك مۇشۇنداق بولغاندىلا نۇرغۇن زېھنىڭىز ۋە ۋاقتىڭىزنى تېجەپ قالالايسىز.

    ئىككىنچى مەسىلە:IEتور كۆرگۈچلەردە دائىم ئۇچرايدىغان مەسىلىلەر

    IE6دە CSSنىڭ float كودىنى قالايمىقان ئىشلەتمەسلىك كېرەك، چۈنكى floatنىڭ خاراكتىرى توربەت يۈزىدىكى مەزموننى ئوڭغا ياكى سولغا ئۆزلۈكسىز توغۇرلاش ئېلىپ بارىدىغانلىقتىن تور بەت يۈزىدە مەزموننىڭ يوقاپ كېتىش ياكى مەزموننىڭ ئۈستى-ئۈستىلەپ كۆرىنىۋېلىش ھادىسىسى كېلىپ چىقىدۇ. بۇنى ھەل قىلىش ئۇسۇلى displayخاراكتىرىنى inlineقىلىپ تەڭشەش كېرەك.

    ئۇندىن باشقا يەنە كەڭلىك ۋە ئېگىزلىك پارامىتېرلىرىغا minياكى maxقىممىتىنى قوشماسلىق كېرەك يەنى min-width,max-width,min-height,max-heightقاتارلىق پارامىتېرلارنى IEقوللىمايدۇ.

    بۇندىن باشقىمۇ يەنە دىققەت قىلىشقا تېگىشلىك تەرەپلەر نۇرغۇن بىراق ۋاقىت مۇناسىۋىتى بىلەن بۇ يەردە بىرمۇ-بىر سۆزلەش ساقىت قىلىندى.

    ئۈچىنچى مەسىلە:CSS HACKنى ھەل قىلىش تەدبىرلىرى

    يەنى CSSنى توركۆرگۈچلەرگە ماسلاشتۇرۇش تەدبىرلىرى بۇنىڭدا تۆۋەندىكىدەك بىر نەچچە خىل تەدبىر بار:

    بىرىنچى.*بەلگىسىنى قوشۇش.

    *بەلگىسى(يۇلتۇز بەلگىسى)نى IEتور كۆرگۈچلەرنىڭ ھەممىسى قوللايدۇ، بىراق firefox, Opera, Chromeقاتارلىق تور كۆرگۈچلەر قوللىمايدۇ(تونۇمايدۇ) شۇڭا كود يازغاندا مەسىلەن:

     

    #background-color{ color:red; *color:blue;}

    دەپ يازساق توربەتنىڭ تەگلىك رەڭگى IEتوركۆرگۈچلەردە كۆك رەڭ(blue)، باشقا تور كۆرگۈچلەردە قىزىل رەڭ(red) بولۇپ كۆرىنىدۇ.

    ئىككىنچى:!importantپارامىتېرىنى قوشۇش

    IE7توركۆرگۈچ *بەلگىسىنى تونۇپلا قالماستىن يەنە !important پارامېتىرىنىمۇ قوللايدۇ ھەم تونۇيدۇ، بىراق IE6توركۆرگۈچ بولسا پەقەتلا *بەلگىسىنى تونۇيدۇ!importantنى تونۇمايدۇ، بۇنىڭدىن پايدىلىنىپ بىز:

    #background {color:red !important; color:blue; }

    قىلىپ يازساق ئىجرا بولغاندا IE7توركۆرگۈچتە كۆرسەك تەگلىك قىزىل كۆرىنىدۇ، IE6توركۆرگۈچتە كۆرسەك تەگلىك كۆك كۆرىنىدۇ. باشقا كودلارنى تەڭشەشتىمۇ مۇشۇنداق ئۇسۇلنى قوللىنىپ ھەل قىلغىلى بولىدۇ.

    ئۈچىنچى:*html ۋە *+html پارامېتىرىنى قوشۇش

    تۆۋەندىكىدەك بىر كودنى يېزىپ باقايلى:

    #background {color:red; }
    *html #background {color:green; }
    *+html #background {color:blue; }

     

     

    بىرىنچى قۇردىكى كودنى firefoxقاتارلىق تور كۆرگۈچلەر قوللاپ تەگلىك رەڭگىنى قىزىل كۆرسىتىپ بېرىدۇ.

    ئىككىنچى قۇردىكى كودنى پەقەت IE6توركۆرگۈچلا قوللايدۇ، باشقىلار قوللىمايدۇ شۇڭا IE6دا كۆرگەن ۋاقتىمىزدا تەگلىك يېشىل رەڭدە كۆرىنىدۇ.

    ئۈچىنچى قۇردىكى كودنى پەقەت IE7توركۆرگۈچلا قوللايدۇ،باشقىلار قوللىمايدۇ شۇڭا IE7دا كۆرگەن ۋاقتىمىزدىلا ئاندىن تەگلىك كۆك رەڭدە كۆرىنىدۇ.

    ھازىر IE8 ۋە IE9لار چىقىپ كەتتى، بۇلارنى ھەل قىلىش ئۈچۈن

     

    #background {color:red\0; }
    #background {color:green\9; }

    بىرىنچى قۇردىكىنى پەقەت IE8توركۆرگۈچلا قوللايدۇ، ھەم تەگلىك رەڭگىنى قىزىل قىلىپ كۆرسىتىپ بېرىدۇ،

    ئىككىنچى قۇردىكىنى پەقەت IE9توركۆرگۈچلا قوللايدۇ ھەم تەگلىك رەڭگىنى يېشىل قىلىپ كۆرسىتىپ بېرىدۇ.

     

    يوقۇرىدىكى ئۇسۇللار بىر قەدەر توغرا بولغان ھەم سىناقتىن ئۆتكەن ئۇسۇللار بولۇپ باشقا ئۇسۇللارنى قوللانغانلارمۇ كۆپ بىراق ئۇلارنىڭ گىرامماتىكا خاتالىقى بار بولۇپ كېيىنچە ئۆزلىرىگە باش ئاغرىقى تېپىۋېلىشى تۇرغان گەپ، شۇڭا تەۋسىيەم شۇكى يوقارقى ئۇسۇللار بىلەن تۈرلۈك توركۆرگۈچلەرنىڭ cssنى يەكلەش مەسىلىسىنى توغرا ھەل قىلىش كېرەك.

    ئاخىرىدا تورداشلارغا ھەرخىل توركۆرگۈچلەردە ئوخشاش ئۈنۈمدە چىقمايدىغان بىر سىناق توربېتىنى ياساپ سۇندۇم، كومپىيوتېرىڭلاردا ئوخشىمىغان تور كۆرگۈچلەر بولسا ئېچىپ سىناپ باقساڭلار بولىدۇ، ئوخشاش بىر تور بەت ئوخشىمىغان تور كۆرگۈچتە ئوخشاش بولمىغان رەڭ ۋە ئۈنۈم ھاسىل قىلىدۇ.

    سىناپ كۆرۈش توربېتىنى چۈشۈرۈش ئادرىسى:

    http://filer.blogbus.com/4255592/resource_4255592_1282624475v.html

     

    分享到:

    收藏到:Del.icio.us

    ئىشلىتىش:
  • 收藏与分享 بۇ يازمىنى ساقلىۋالىمەن

    评论

  • دۇنياقارا ئەپەندىم جىق جاپا چىكىۋاتىسىز رەھمەت،ماڭا ئىسلامچە ئۇسلۇپنى ئەۋەتىپ بەرسىڭىز بوپتىكەن.ئادرىسىم : MELEK@QQ.comرەھمەت
  • مەن تولۇق ئۇيغۇرچە قىلالمىدىم ياردەم قىلغان بولسىڭىز بوپتىكەن. مەن سىز باشقۇرغۇچى قىلىپ قويدۇم ۋاقتىڭىز يەتسە قىممەتلىك ۋاقتىڭىزنى ئايىمىغايسىز![cusFace:6]
  • ئۇيغۇرچە تور بېكەتلەرگە نىسبەتەن IE ئائىلىسىدە چوقۇم نورمال كۆرسىتىش، باشقا تور كۆرگۈلەردە ئاساسەن نورمال كۆرسىتىش ۋە ئىشلەتكۈچىگە قولايسىزلىق ئېلىپ كەلمەسلىك. بۇ مېنىڭ كۆز قارىشىم.
  • بۇ يازمىدىكى دەل بىز ئېھتىياجلىق بولغان بىلىملەر ئىكەن، بولۇپمۇ مەن!
    رەھمەت، بۇ يازمىدىن ئوبدان پايدىلىنىمەن.
  • "ئە" تاۋۇشى توغرىسىدىكى يازمام ئىنتىرنىت ئېكسپىلورېر 8 دە كۆرۈنمەيۋاتىدۇ.
  • "ئە" تاۋۇشى توغرىسىدىكى يازمام ئىنتىرنىت ئېكسپىلورېر 8 دە كۆرۈنمەيۋاتىدۇ.
  • مەن سىز گە ئىنكاس يازسام بولىدىكەن لىكىن باشقا بىلوگلارغا ئىنكاس يازسام بولمايۋاتىدۇ سىزنى بىلسە ئوڭشاپ بىرەمدىكىن دەپ ياردەم سورىغان مەن سىزنى باشقۇرغۇچى قىلىپ قويدۇم.[cusFace:0]
    dunyakara回复13999055543m说:
    باشقۇرغۇچىلىققا تەكلىپ قىلىش ئۇچۇرى كەلمىدىغۇ؟
    2010-09-05 08:57:11
  • مۇشۇ مەسىلىگە مەنمۇ دۇچ كەلدىم. بىراق مەن كومپىيوتىرنى ئۆزلىگىمدىن ئۈگەنگەن بولغاچقا ھەرقانچە قىلىپمۇ بۇ مەسىلىنى ھەل قىلالمىدىم. دۇنياقارا ئەپەندىم بۇ جەھەتتىكى ياردىمىڭىزنى ئايىمىغايسىز.
    dunyakara回复Karabeg说:
    مەسىلە بولسا ئىنكاس قالدۇرۇڭ، ئەلۋەتتە ياردەمدە بولىمەن.
    2010-09-03 22:56:15
  • مەن باشقا بىلوگلاغا ئىنكاس يازسام بولمايۋاتىدۇ.مەن سىزنى باشقۇرغۇچى قىلىپ قويسام ئوڭشاب بىرەمسىز [cusFace:0]
    dunyakara回复13999055543m说:
    بۇ يەرگە ئىنكاس يېزىپتىكەنسىز چىقىپتىغۇ مانا؟ ھازىر ئىنكاس مەزمونىنى ئوقۇپ مەزمونىدىن خەۋەردار بولغاندىن كېيىن ئاندىن تەستىقلەيدىغان بولۇپ كەتتى، شۇڭا ئىنكاس يوللىسىڭىزمۇ تېز بولغاندا 5~10مىنۇتتىن كېيىن ئاندىن بلوگ يۈزىدە كۆرىلىدۇ. بۇ پۈتۈنلەي بلوگبۇس سۇپىسىدىكىلەرنىڭ ئىشى، سىزنىڭ ياكى بلوگىڭىزنىڭ مەسلىسى ئەمەس.
    2010-09-03 22:55:35
  • بلوگگىرلارغا يەنە بىر خوش-خەۋەر ئېلىپ كەلگىنىڭىزگە رەھمەت. بۇ دىتالغا بلوگىڭىزنى قوشىۋېلىشىۋېلىڭ.http://www.blogbus.com/dunyakara-logs/73960339.html
    dunyakara回复QAWANDAZLAR说:
    بولىدۇ.
    2010-08-30 17:07:21