원칙은 ul에 텍스트 상자를 추가하여 드롭다운 상자를 시뮬레이션하고 글꼴을 사용하여 드롭다운 버튼을 시뮬레이션하는 것입니다.
1. 정적 효과 만들기
먼저 CSS와 HTML을 사용하여 원하는 대로 만드세요. 제가 사용하는 폰트는 icomoon 홈페이지에서 직접 제작할 수 있는 두 가지입니다. 글꼴을 사용하면 입력 상자 위치가 매우 편리하고 크기, 색상 등을 제어할 수도 있다는 장점이 있습니다. 유일한 단점은 IE6 및 IE7에서는 :before 선택기를 지원하지 않기 때문에 이 글꼴을 표시할 수 없다는 점입니다. 하지만 다른 방법을 통해 직접 시도해 볼 수도 있습니다. 아래는 HTML 코드입니다
<span style="display:inline-block;position:relative" class="combox_border"> <input type="text" class="combox_input"/><font class="ficomoon icon-angle-bottom combox_button" style="display:inline-block"></font> <ul style="position:absolute;top:29px;left:-1px" class="combox_select"> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项一</a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项二</a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项三</a></li> <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >选项四</a></li> </ul> </span>
1. 태그에는 스타일과 클래스가 있습니다. 이 스타일은 필수 속성이며
가 있어야 합니다.
2. 가장 바깥쪽 부분을 스팬으로 감싸고 인라인 블록 속성을 부여합니다. 인라인 요소를 사용하는 이유는 향후 레이아웃의 편의를 위해서입니다. 블록 요소로 대체하는 것도 가능하지만 여러 번 블록 요소를 사용합니다. 플로팅 및 기타 스타일은 제어하기가 더 까다롭습니다.
3. Ficomoon icon-angle-bottom이 글꼴을 정의합니다
4. 범위의 속성 위치는 상대적입니다. ul 위치 지정을 사용하여 드롭다운을 시뮬레이션할 계획입니다. 앞으로는 jquery에 따라 위쪽이 범위의 높이 설정을 얻을 수 있습니다. 코딩
5. li의 콘텐츠에 a 태그를 추가했습니다. a 태그에는 :hover 의사 클래스가 있습니다. 위로 이동하면 CSS가 변경되므로 이동에 따른 특수 효과를 덜 작성할 수 있습니다. 콘텐츠에 맞춰 스타일을 바꿔보세요.
아래는 CSS 코드입니다:
@font-face { font-family: 'icomoon'; src:url('fonts/icomoon.eot?-fl11l'); src:url('fonts/icomoon.eot?#iefix-fl11l') format('embedded-opentype'), url('fonts/icomoon.woff?-fl11l') format('woff'), url('fonts/icomoon.ttf?-fl11l') format('truetype'), url('fonts/icomoon.svg?-fl11l#icomoon') format('svg'); font-weight: normal; font-style: normal; } .ficomoon{font-family:'icomoon';} .icon-angle-top:before {content: "\f102"}.icon-angle-bottom:before {content: "\f103"} /*下面的可根据自己的实际情况做修改*/ .combox_border{border:1px solid #c2c2c2;height:28px;width:245px} .combox_input{border:0;line-height:25px;height:25px;padding-left: 5px;width:85%;vertical-align: middle;} .combox_button{width:12%;text-align:center;vertical-align: middle;cursor:pointer;border-left:1px solid #c2c2c2} .combox_select{border:1px solid #c2c2c2;border-top:0;width:100%} .combox_select li{overflow:hidden;height:30px;line-height:30px;cursor:pointer;} .combox_select a {display: block;line-height: 28px;padding: 0 8px;text-decoration: none;color: #666;} .combox_select a:hover {text-decoration: none;background:#f5f5f5}
Combox_border 및 기타 스타일을 사용자 정의할 수 있으며, CSS3 스타일을 추가하여 아름답게 만들 수도 있습니다.
2. JS 특수효과 제작
JS를 할 때 이상한 문제가 발생했습니다. 즉, 어떤 브라우저에서도 오류가 보고되지 않지만 IE6에서는 unset 개체 속성 오류가 발생한다는 것을 알게 되었습니다. UTF-8이 아닌 js 파일의 인코딩 문제는 인코딩을 변경하십시오.
첫 번째는 jquery 플러그인 형식입니다
(function($){ $.fn.combox = function(options) { }; })(jQuery);
그런 다음 기본 매개변수를 추가하세요
var defaults = { borderCss: "combox_border", inputCss: "combox_input", buttonCss: "combox_button", selectCss: "combox_select", datas:[] }; var options = $.extend(defaults, options);
borderCss | 最外面包裹的样式,就是上面的span |
inputCss | 输入框的样式 |
buttonCss | 按钮的样式,就是![]() |
selectCss | 下拉列表的样式 |
datas | 下拉列表中的内容 |
그럼 렌더링 방법이 있습니다
this.each(function() { var _this = $(this); _this = _initBorder(_this);//初始化外框CSS IE6中需要有返回值 _this = _initInput(_this);//初始化输入框 _initSelect(_this);//初始化下拉列表 });
입력 상자, 버튼, 드롭다운 상자를 동적으로 생성하고 스타일과 시간을 첨부합니다. 좀 더 명확하게 하기 위해 세 가지 렌더링을 각각 세 가지 기능에 넣었습니다
function _initBorder($border) {//初始化外框CSS $border.css({'display':'inline-block', 'position':'relative'}).addClass(options.borderCss); return $border; } function _initInput($border){//初始化输入框 $border.append('<input type="text" class="'+options.inputCss+'"/>'); $border.append('<font class="ficomoon icon-angle-bottom '+options.buttonCss+'" style="display:inline-block"></font>'); //绑定下拉特效 $border.delegate('font', 'click', function() { var $ul = $border.children('ul'); if($ul.css('display') == 'none') { $ul.slideDown('fast'); $(this).removeClass('icon-angle-bottom').addClass('icon-angle-top'); }else { $ul.slideUp('fast'); $(this).removeClass('icon-angle-top').addClass('icon-angle-bottom'); } }); return $border;//IE6需要返回值 } function _initSelect($border) {//初始化下拉列表 $border.append('<ul style="position:absolute;left:-1px;display:none" class="'+options.selectCss+'">'); var $ul = $border.children('ul'); $ul.css('top',$border.height()+1); var length = options.datas.length; for(var i=0; i<length ;i++) $ul.append('<li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+options.datas[i]+'</a></li>'); $ul.delegate('li', 'click', function() { $border.children(':text').val($(this).text()); $ul.hide(); $border.children('font').removeClass('icon-angle-top').addClass('icon-angle-bottom');//确定的时候要将下拉的icon改变 }); return $border; }
jquery 객체임을 알 수 있도록 세 가지 함수의 매개변수에 $ 기호를 추가했습니다. 이 기능에는 기술적인 어려움이 없습니다. 모두 매우 일반적이고 자연스러운 논리입니다. 또한 플러그인에는 총 50줄만 있으므로 매우 쉽습니다. 수정하다.
다음은 호출 플러그인입니다.
<script type="text/javascript"> $(document).ready(function() { $('#combox').combox({datas:['选项一','选项二','选项三']}); }) </script> </head> <body> <span id="combox"></span> </body> </html>
한 문장만 입력하면 되기 때문에 매우 편리합니다.

随着前端技术的不断发展,数据表格成为企业管理及数据展示的重要工具之一。在日常开发中,有时需要在数据表格中进行数据修改或新增操作,这时候就需要实现可编辑的数据表格。本文将介绍如何使用Vue实现可编辑的数据表格。一、实现思路在实现可编辑的数据表格功能时,我们需要考虑以下几点:数据呈现:将数据渲染到表格中,以便展示和编辑。表格编辑:在表格中对数据进行编辑操作。

如何在Vue中实现多选下拉框在Vue开发中,下拉框是常见的表单组件之一。通常情况下,我们都使用单选下拉框来选择一个选项。但是,有时候我们需要实现多选下拉框,以便用户可以同时选择多个选项。在本文中,我们将介绍如何在Vue中实现多选下拉框,并提供具体的代码示例。一、使用ElementUI组件库ElementUI是一套基于Vue的桌面端组件库,提供了丰富的UI

如何使用Layui开发一个支持可编辑的个人日程管理系统近年来,随着信息化技术的快速发展和人们生活节奏的加快,个人日程管理变得越来越重要。为了让人们更好地管理自己的时间和任务,我们可以使用Layui,这是一款基于JavaScript的前端UI框架,它提供了丰富的组件和简洁的风格,非常适合用来开发个人日程管理系统。一、环境准备首先,我们需要准备好开发环境。确保你

Vue开发中如何解决移动端下拉框滚动问题随着移动端的普及,越来越多的网页应用开始面向移动设备进行开发。而在移动端开发过程中,我们经常会遇到一个问题,就是下拉框在移动设备上的滚动问题。在传统的PC端,下拉框的滚动是由浏览器默认的滚动条控制的,而在移动设备上,并没有滚动条,因此会导致下拉框无法进行滚动。这在某些场景下会造成用户无法选择到下拉框中的所有选项的问题。

Vue.js是目前非常流行的前端框架之一,它使用数据驱动的方式来构建用户界面,具有数据双向绑定、组件化等特点。在Vue.js的文档中,提供了一个实现可编辑表格的方法,本文将介绍这种方法的具体实现步骤。准备数据首先要准备一组数据,这里以学生信息为例。数据格式可以是一个数组,每个元素包含姓名、性别、年龄等属性。students:[{name:'小明

如何使用JavaScript实现下拉框联动效果?在开发网页中,下拉框联动是一种常见的交互效果。它通过选择一个下拉框中的选项,动态改变另一个下拉框的选项内容,从而实现二者之间的联动。本文将介绍如何使用JavaScript实现下拉框联动效果,并附上具体的代码示例。HTML结构首先,我们需要创建两个下拉框,并且给它们添加id属性,以便JavaScr

如何使用Layui开发一个支持可编辑的电子书阅读器概述:Layui是一款简单易用且功能强大的前端框架,它提供了丰富的UI组件和开发工具,使得开发者能够快速构建美观且功能完善的网页应用。本文将介绍如何使用Layui框架开发一个支持可编辑的电子书阅读器,使用户能够在电子书中进行划重点、标记、笔记等操作。步骤一:项目准备首先,我们需要准备一个基本的项目结构。创建一

如何利用Layui实现可编辑的表格功能Layui是一套经典而简洁的前端UI框架,具有丰富的组件和强大的功能。在使用Layui开发过程中,我们可能会遇到需要实现可编辑的表格功能的需求。本文将介绍如何利用Layui的table组件和form表单组件,实现可编辑的表格功能,并提供具体的代码示例。一、引入Layui库首先,在项目中引入Layui库的相关文件。可以选择


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

뜨거운 주제



