Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Закругление краев DIV'ов (https://javascript.ru/forum/dom-window/3436-zakruglenie-kraev-div%27ov.html)

B~Vladi 10.06.2009 10:49

Я тоже когда-то наткнулся на такой трюк, потом расковырял всё это дело и понял, в чём тут фикус. Подробно не буду описывать, т.к. лень, но если кто-то захочет в этом разобратся сам - опишу.
Взамен хотел бы скинуть вам простую функцию, которая просто поможет всё это понять.
function createEle(ele,tag,className){
	var e=document.createElement(tag);
	e.className=className;
	ele.appendChild(e);
}
function createRainbow(e,top){
	var r=createEle(e,'div',(top)?'rtop':'rbottom');
	if(top) for(i=14;i>=0;i--) createEle(r,'div','r'+i);
	else for(i=0;i<=14;i++)	createEle(r,'div','r'+i);
}

Функция createEle просто в помощь, так что не придерацца.
Использовать так:
1. У нас есть див (div).
2. В этот див генерим верхние углы: createRainbow(div,true).
3. Вставляем туда див для контента: createEle(div,'div',className).
4. Генерим нижние углы: createRainbow(div).

Вот стили:
.r1, .rbottom .r0{
	height:1px;
}
.r10 {
	margin:0 8px;
	height:1px;
}
.r11 {
	margin:0 9px;
	height:1px;
}
.r12 {
	margin:0 11px;
	height:1px;
}
.r13 {
	margin:0 13px;
	height:1px;
}
.r14 {
	margin:0 16px;
	height:1px;
}
.r2 {
	margin:0 1px;
	height:3px;
}
.r3{
	margin:0 2px;
	height:2px;
}
.r4, .r5 {
	margin:0 3px;
	height:1px;
}
.r6 {
	margin:0 4px;
	height:1px;
}
.r7 {
	margin:0 5px;
	height:1px;
}
.r8 {
	margin:0 6px;
	height:1px;
}
.r9 {
	margin:0 7px;
	height:1px;
}
.rbottom {
	width:100%;
	overflow:hidden;
}
.rtop {
	width:100%;
	overflow:hidden;
}
.rtop div, .rbottom div{
	background:#000;
	overflow:hidden;
}

Этот пример не претендует на широкое использование. Запостилось для того, чтобы вы сами могли во всём разобраться и не мучиться с левыми библиотеками. После осознования сего, вы сами сможете написать полноценную либу скругления углов у дива.

ludmilal 27.07.2009 22:47

Помогите, пожалуйста, разобраться, как работает скрипт с сайта http://fantactuka.net/canvasul/.

Скрипт выдал мне код в виде архива. Я подключила скрипты и файл стилей, прописала div .underlayer - как предлагается.

Но ничего не работает - даже на странице ничего не отображается.

Как этот скрипт работает?
Что я не учла?

Кто имел с ним дело, помогите разобраться, плиз...

Riim 27.07.2009 23:06

Того скрипта там уже нет, там одна реклама. В 19 посте он выложен.

ludmilal 28.07.2009 02:06

Riim, вы точно Рассеянный профессор

Я же написала, что не могу разобраться, как этот скрипт встроить в страницу сайта, а не "дайте ссылку на закачку".

Riim 28.07.2009 08:40

Цитата:

Сообщение от ludmilal
не могу разобраться, как этот скрипт встроить в страницу сайта

Так там же есть примеры, где все подключено.

ludmilal 28.07.2009 23:22

Там только сам скрипт, а никаких примеров нет.

Если не трудно, выложите где-нибудь пример.
Может на какой либо файлообменник или в присоединенном архиве.

Очень хочется разобраться, как это все работает.

Riim 28.07.2009 23:34

Цитата:

Сообщение от ludmilal
а никаких примеров нет

На самом видном месте лежит.

ludmilal 29.07.2009 02:22

Riim, Вместо того, чтобы помочь страждущему вы играетесь словами.

Ну поигрались... А толку?

Riim 29.07.2009 09:25

ludmilal, я предлагаю вам еще раз скачать архив из 19-го поста и посмотреть его содержимое с широко открытыми глазами.

ludmilal 29.07.2009 17:34

Скачала еще раз.
Распаковала архив canvasul.zip.
Подключила стили и скрипты, который находились в архиве.

Так нужен еще и html-код, который вставляется в страницу и который, собственно и образует сам блок - иначе для чего делать эти круглые углы и тени.

Какой html-код?


Часовой пояс GMT +3, время: 06:31.