[вÑÑÑÑка] Ðак ÑделаÑÑ ÑÐ»Ð°Ð¹Ð´ÐµÑ Ð½Ð° CSS и HTML. ЧаÑÑÑ 2.
РпÑедÑдÑÑей ÑÑаÑÑе Ð¼Ñ ÑаÑÑмоÑÑели, как ÑвеÑÑÑаÑÑ Ð¿ÑоÑÑой ÑÐ»Ð°Ð¹Ð´ÐµÑ Ð¿Ñи помоÑи CSS без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ JS-ÑкÑипÑов. СейÑÐ°Ñ ÑазбеÑÑм еÑе один ваÑÐ¸Ð°Ð½Ñ Ð¾ÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ ÑлайдеÑа — Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ «Ð²Ð¿ÐµÑÑд» и «Ð½Ð°Ð·Ð°Ð´».
ÐÑоÑÑой ÑÐ»Ð°Ð¹Ð´ÐµÑ Ð½Ð° CSS Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ «Ð²Ð¿ÐµÑÑд» и «Ð½Ð°Ð·Ð°Ð´»
ÐÑежде Ñем пÑодолжиÑÑ ÑÑение ÑÑаÑÑи, ÑекомендÑÑ Ð²Ð°Ð¼ ознакомиÑÑÑÑ Ñ Ð¿ÑедÑдÑÑей ÑÑаÑÑей, в коÑоÑой бÑл деÑалÑно ÑаÑÑмоÑÑен код пÑоÑÑого ÑлайдеÑа.
Ðнопки «Ð²Ð¿ÐµÑÑд» и «Ð½Ð°Ð·Ð°Ð´» Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ наÑиÑоваÑÑ Ð² гÑаÑиÑеÑком ÑедакÑоÑе лÑбÑе, какие нам нÑжно. Ðо Ð´Ð»Ñ Ð²ÐµÑÑÑалÑÑика заÑаÑÑÑÑ Ð³Ð¾Ñаздо пÑоÑе ÑоздаÑÑ Ð½ÐµÑложнÑе ÑлеменÑÑ Ð¾ÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи помоÑи CSS, Ñем ÑиÑоваÑÑ Ð²ÑÑÑнÑÑ. ÐоÑÑÐ¾Ð¼Ñ ÑвеÑÑÑаем Ð²Ð¾Ñ Ñакие кнопки:
Ðод HTML пÑоÑÑ:
<div id='button-example'> <div></div> <div></div> </div>
Ð Ð²Ð¾Ñ CSS Ð¼Ð¾Ð¶ÐµÑ Ñлегка взоÑваÑÑ Ð¼Ð¾Ð·Ð³:
#button-example { width: 400px; height: 250px; border: 1px solid #888; position: relative; overflow: hidden; } #button-example > div { width: 80px; height: 80px; border-radius: 40px; background-color: rgba(150, 150, 250, 0.7); position: absolute; top: 50%; transform: translateY(-50%); } #button-example > div:after { font-size: 30px; color: #fff; display: block; position: absolute; top: 0px; bottom: 0px; line-height: 80px; } #button-example > div:first-child { left: -40px; } #button-example > div:first-child:after { content: '◀'; left: 55%; } #button-example > div:last-child { right: -40px; } #button-example > div:last-child:after { content: '▶'; right: 55%; }
РазбеÑÑмÑÑ, ÑÑо здеÑÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸Ñ. ÐÑ Ð·Ð°Ð´Ð°Ñм Ð´Ð»Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ квадÑаÑнÑй блок (ÑиÑина и вÑÑоÑа 80 пикÑелей) и пÑи помоÑи ÑвойÑÑва border-radius пÑевÑаÑаем его в кÑÑг. ÐозиÑиониÑÑем его абÑолÑÑно Ñаким обÑазом, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð° блока ÑÑла за гÑаниÑÑ ÐºÐ¾Ð½ÑейнеÑа. ÐлагодаÑÑ ÑвойÑÑÐ²Ñ overflow: hidden конÑейнеÑа, вÑÑ, ÑÑо вÑÑло за его гÑаниÑÑ, обÑезаеÑÑÑ. Таким обÑазом Ð¼Ñ Ð¿Ð¾Ð»ÑÑаем два полÑкÑÑга.
ЧÑÐ¾Ð±Ñ Ð¾ÑÑенÑÑиÑоваÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸ по вÑÑоÑе, иÑполÑзÑем ÑледÑÑÑий пÑиÑм. ÐÑÑÑавлÑем кнопке top: 50%. Таким обÑазом, веÑÑ Ð½ÑÑ Ð³ÑаниÑа кнопки бÑÐ´ÐµÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð¿Ð¾ÑеÑедине конÑейнеÑа. Также ÑказÑваем ÑÑанÑÑоÑмаÑÐ¸Ñ — Ñдвиг по вÑÑоÑе на 50%: transform: translateY(-50%). ÐÑоÑенÑÑ, ÑказаннÑе в ÑÑанÑÑоÑмаÑии, оÑÑÑиÑÑваÑÑÑÑ Ð½Ðµ Ð¾Ñ ÑазмеÑа ÑодиÑелÑÑкого ÑлеменÑа (конÑейнеÑа), а Ð¾Ñ ÑазмеÑа Ñамого блока. Таким обÑазом, блок ÑмеÑаеÑÑÑ Ð½Ð° Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ Ñвоей вÑÑÐ¾Ñ Ð²Ð²ÐµÑÑ . Ð ÑезÑлÑÑаÑе ÑенÑÑ Ð±Ð»Ð¾ÐºÐ° оказÑваеÑÑÑ Ð¿Ð¾ вÑÑоÑе ÑовмеÑен Ñ ÑенÑÑом конÑейнеÑа.
Ðалее внÑÑÑи кнопок надо наÑиÑоваÑÑ ÑÑÑÐµÐ»ÐºÑ Ð²Ð»ÐµÐ²Ð¾ и ÑÑÑÐµÐ»ÐºÑ Ð²Ð¿Ñаво. ÐÑполÑзÑем Ð´Ð»Ñ ÑÑого пÑевдоÑлеменÑÑ :after, и ÑÑÑелки ÑиÑÑем в виде ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ñимволов Unicode.
ÐÑÑенÑÑиÑоваÑÑ ÑÑÑÐµÐ»ÐºÑ Ð¿Ð¾ вÑÑоÑе, иÑполÑзÑем еÑе один пÑиÑм веÑÑикалÑного вÑÑавниваниÑ: задаем вÑÑоÑÑ ÑÑÑоки Ñавной вÑÑоÑе конÑейнеÑа (line-height: 80px).
РазобÑалиÑÑ Ñ Ñем, как оÑобÑазиÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸. ТепеÑÑ Ð¼Ð¾Ð´Ð¸ÑиÑиÑÑем код ÑлайдеÑа из пÑедÑдÑÑей ÑÑаÑÑи Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ñакими кнопками.
ÐÑделÑнÑе паÑÑ ÐºÐ½Ð¾Ð¿Ð¾Ðº нам понадобÑÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ кадÑа ÑлайдеÑа. РпеÑвом кадÑе кнопка «Ðазад» акÑивиÑÑÐµÑ Ð¿Ð¾Ñледний кадÑ, а кнопка «ÐпеÑÑд» — вÑоÑой кадÑ. Ðо вÑоÑом кадÑе кнопка «Ðазад» акÑивиÑÑÐµÑ Ð¿ÐµÑвÑй кадÑ, а кнопка «ÐпеÑÑд» — ÑÑеÑий кадÑ. Ð Ñак далее. ÐолÑÑаеÑÑÑ ÐºÐ¾Ð´ ÑледÑÑÑего вида:
<div class='sliderB'> <input type="radio" name="slider1" id="slider1_1" checked="checked"> <div> <p>ÐоÑÑ Ð¾Ð´ над оÑÑÑовом</p> <img src='https://lh3.googleusercontent.com/-XGgw41OSARk/VePicTdAdgI/AAAAAAAAAS4/WeBbxp4ebQg/s400-Ic42/00099_manaisland_1920x1200.jpg' alt=''> </div> <label for="slider1_4"></label> <label for="slider1_2"></label> <input type="radio" name="slider1" id="slider1_2"> <div> <p>ÐзÑÑнÑй кÑай</p> <img src='https://lh3.googleusercontent.com/-aafAKIoTkT4/VePihWk2BHI/AAAAAAAAATA/zQVtiYD_eDc/s400-Ic42/00201_lakejipe_1920x1200.jpg' alt=''> </div> <label for="slider1_1"></label> <label for="slider1_3"></label> <input type="radio" name="slider1" id="slider1_3"> <div> <p>ÐакаÑÐ½Ð°Ñ Ñинева</p> <img src='https://lh3.googleusercontent.com/-ikbDMRhLc_I/VePkT4XLFtI/AAAAAAAAATg/qaHqQk89RAw/s400-Ic42/00744_laclahachesunset_1920x1200.jpg' alt=''> </div> <label for="slider1_2"></label> <label for="slider1_4"></label> <input type="radio" name="slider1" id="slider1_4"> <div> <p>СелÑÑкий пейзаж</p> <img src='https://lh3.googleusercontent.com/-BLXeHJNyOqw/VePimp_e_wI/AAAAAAAAATQ/BVw_9LFehyU/s400-Ic42/00442_pyrenees_1920x1200.jpg' alt=''> </div> <label for="slider1_3"></label> <label for="slider1_1"></label> </div>
Ðз ÑÐ°Ð±Ð»Ð¸Ñ ÑÑилей Ð¾Ñ Ð¿ÑедÑдÑÑего ÑлайдеÑа Ð¼Ñ ÑдалÑем вÑÑ, ÑÑо ÑвÑзано Ñо ÑÑаÑÑми кнопками и добавлÑем оÑоÑмление кнопок из ÑаÑÑмоÑÑенного вÑÑе пÑимеÑа:
.sliderB { width: 400px; height: 250px; border: 1px solid #888; position: relative; overflow: hidden; } .sliderB > input { display: none; } .sliderB > label { display: none; } .sliderB > input:checked + div + label, .sliderB > input:checked + div + label + label { display: block; width: 80px; height: 80px; border-radius: 40px; background-color: rgba(150, 150, 250, 0.7); cursor: pointer; position: absolute; top: 50%; transform: translateY(-50%); z-index: 100; } .sliderB > input:checked + div + label:after, .sliderB > input:checked + div + label + label:after { font-size: 30px; color: #fff; display: block; position: absolute; top: 0px; bottom: 0px; line-height: 80px; } .sliderB > input:checked + div + label { left: -40px; } .sliderB > input:checked + div + label:after { content: '◀'; left: 55%; } .sliderB > input:checked + div + label + label { right: -40px; } .sliderB > input:checked + div + label + label:after { content: '▶'; right: 55%; } .sliderB > div { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 0; } .sliderB > div { visibility: hidden; opacity: 0; transition: opacity 0.8s ease-out 0.1s, visibility 0.1s ease-out 0.9s; } .sliderB > input:checked + div { visibility: visible; opacity: 1; transition: opacity 0.8s ease-out 0.1s, visibility 0.1s ease-out 0s; } .sliderB > div > p { position: absolute; top: 0px; left: 0px; right: 0px; text-align: center; color: #fff; text-shadow: 1px 1px 2px #000; }
Ð ÑезÑлÑÑаÑе полÑÑаеÑÑÑ Ð²Ð¾Ñ Ñакой ÑлайдеÑ:
10 комменÑаÑиев
ÐÑоÑÑиÑе за Ð¼Ð¾Ñ Ð»ÐµÐ½Ñ, а можно ÑеликовÑй код, коÑоÑÑй ÑолÑко ÑкопиÑоваÑÑ Ð¸ вÑÑавиÑÑ? :(
СпаÑибо, оÑлиÑнÑй ÑÑок!
ÑпаÑибо за ÑÑок, но иÑÑ Ð¾Ð´Ð½Ð¸ÐºÐ° в аÑÑ Ð¸Ð²Ðµ не Ñ Ð²Ð°ÑаеÑ)))
kjk
ÐобÑÑй денÑ! ÐÑ Ð¿ÑекÑаÑно обÑÑÑнÑеÑе. ÐÑоÑÑо замеÑаÑелÑÐ½Ð°Ñ ÑÑаÑÑÑ!
Ð ÑÑо-Ð±Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ Ñами лиÑÑалиÑÑ?
Ð Ñлайде кÑоÑбÑаÑзеÑнÑй
ÐобÑÑй денÑ, вÑе оÑÐµÐ½Ñ Ð·Ð´Ð¾Ñово напиÑано. ÐодÑкажиÑе, пожалÑйÑÑа, как ÑделаÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¿Ñи наведении кÑÑÑоÑа на ÑÑÑелоÑÐºÑ Ð¾Ð½Ð° Ð±Ñ Ð¼ÐµÐ½Ñла ÑвеÑ?
ÐÑобовала ÑеÑез hover .sliderB > input:checked + div + label:after:hover,
.sliderB > input:checked + div + label + label:after:hover {
color: #0095da;}
Ðо Ñак не полÑÑилоÑÑ
СпаÑибо, пÑоблема ÑеÑилаÑÑ Ñама, оказалоÑÑ Ð½Ð°Ð´Ð¾ поменÑÑÑ Ð¼ÐµÑÑами Hover b After
Я Хелена Ð¥Ñлио из ÐквадоÑа, Ñ Ñ Ð¾ÑÑ Ñ Ð¾ÑоÑенÑко поговоÑиÑÑ Ð¾ миÑÑеÑе ÐедÑо на ÑÑÑ ÑемÑ.
Ð-н ÐедÑо и его кÑедиÑÐ½Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¾ÐºÐ°Ð·ÑваÑÑ Ð¼Ð½Ðµ ÑинанÑовÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжкÑ, когда вÑе банки в моем гоÑоде оÑклонили Ð¼Ð¾Ñ Ð¿ÑоÑÑÐ±Ñ Ð¿ÑедоÑÑавиÑÑ Ð¼Ð½Ðµ ÑÑÑÐ´Ñ Ð² ÑазмеÑе 500 000,00 доллаÑов СШÐ, Ñ ÑÑаÑалÑÑ Ð¸Ð·Ð¾ вÑÐµÑ Ñил, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑÑÑÐ´Ñ Ð² ÑÐ²Ð¾Ð¸Ñ Ð±Ð°Ð½ÐºÐ°Ñ Ð·Ð´ÐµÑÑ, в ÐквадоÑе, но вÑе они мне оÑказали поÑÐ¾Ð¼Ñ ÑÑо мой кÑÐµÐ´Ð¸Ñ Ð±Ñл низким, но Ñ ÐожÑей милоÑÑÑÑ Ñ Ñзнал о миÑÑеÑе ÐедÑо на плаÑÑоÑме ÑÑÑдÑ, поÑÑÐ¾Ð¼Ñ Ñ ÑеÑил попÑобоваÑÑ Ð¿Ð¾Ð´Ð°ÑÑ Ð·Ð°ÑÐ²ÐºÑ Ð½Ð° ÑÑÑдÑ. С ÐожÑей помоÑÑÑ Ð¾Ð½Ð¸ пÑедоÑÑавили мне ÑÑÑÐ´Ñ Ð² ÑазмеÑе 500 000,00 доллаÑов СШÐ. РпÑоÑÑбе о ÑÑÑде, в коÑоÑой мне оÑказали мои банки здеÑÑ, в ÐквадоÑе, бÑло дейÑÑвиÑелÑно здоÑово веÑÑи Ñ Ð½Ð¸Ð¼Ð¸ дела, и мой Ð±Ð¸Ð·Ð½ÐµÑ ÑейÑÐ°Ñ Ð¸Ð´ÐµÑ Ñ Ð¾ÑоÑо. ÐлекÑÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑÑа / конÑакÑ, еÑли Ð²Ñ Ñ Ð¾ÑиÑе подаÑÑ Ð·Ð°ÑÐ²ÐºÑ Ð½Ð° ÑÑÑÐ´Ñ Ð¾Ñ Ð½Ð¸Ñ .
[email protected]
ÐÑпÑавиÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑий