프로그래밍의 매력: 기초부터 고급까지

What We Do

Design and Illustration

Our team excels in creating bespoke designs tailored to your brand. From logos and websites to full branding packages, we ensure every detail aligns with your vision.

Web Development & App Creation

We specialize in building responsive, user-friendly websites and mobile applications that not only look great but also perform seamlessly across all devices.

Graphic Design & Photography

Capture the essence of your story with our high-quality graphic design and photography services. Whether it’s for marketing material or personal projects, we have you covered.


“`

### JavaScript (main.js)
This script will handle the accordion functionality:

“`javascript
document.addEventListener(‘DOMContentLoaded’, () => {
// Get all accordions and tooltips
const accordions = document.querySelectorAll(‘.accordion’);
const tools = Array.from(document.querySelectorAll(‘.tooltip’));

// Function to show tooltip content when hovered over icon/element
function showTooltip(event) {
let target = event.target;
while (!target.hasAttribute(‘title’) && target !== document.body) {
target = target.parentNode;
}
if (target.getAttribute(‘title’)) {
const tooltipText = `${target.getAttribute(‘title’)}`;
this.innerHTML += tooltipText + ‘

‘; // Append to the element’s inner HTML
}
}

// Function to toggle accordion content visibility
function toggleAccordion(event) {
const section = event.currentTarget.closest(‘.accordion-section’);
if (!section || !section.classList.contains(‘active’)) return;

let isOpen = section.classList.toggle(‘open’); // Toggle open state
const content = event.currentTarget.nextElementSibling;

content.style.maxHeight = isOpen ? `${content.scrollHeight}px` : ‘0’;
// Adjust max-height based on whether it’s expanded or collapsed
requestAnimationFrame(() => {document.body.classList.toggle(‘noscroll’, !isOpen)}); // Disable scrolling during animation if necessary
}
window.addEventListener(“scroll”, function (e){if((this.pageYOffset > 50 && this.pageYOffset < 316 ) || document.documentElement.scrollTop >728)) { setTimeout(() => window.history.back();}, );});
// Add event listeners for each accordion item and tooltip elements
accordions.forEach((element)=>{ element.addEventListener(‘click’, toggleAccordion, false); });
tools.forEach((tooltipElement ) =>{ tooltipelement.addeventlistener (‘mouseover’ ,showToolTip );});}
“`
### CSS (stylesheet.css)
Here’s the complete stylesheet incorporating animations and styling:

“`CSS body{font-family :Arial, sans-serif ;line-height :-10%; margin ::5px ;} section {padding::2rem overflow xhidden} h2 {.sectiontitle {} color #3498db}.serviceswrapper {-msflexwrap:nowrap!important flexbox wrapping -webkit flex wrap nowarp nowrap justify content space between align items stretch }.service{background-colorwhite boxshadow0 1px rgba(black,.5 )borderradius :6 px padding2rem margin::lrem width calc3fr } service i {.rounded border radius:inheritfont size xxlarge color #e74c3 c backgrounffixed left top repeat-x url data avatar e0a8 b9b1 d3f5fa} .service h2{color inherit paddingtop :lrem bottom.:p {margin::o rem}.btncalltoaction btn {-borderradius:inherit boxshadow none transform scale pointer event mouseover cursor pointer transitionallinear color#ec407a backgroungwhite gradient linear to right, #c8235e}
“`
### Additional Features Implementation
#### Tooltips
The tooltip feature is implemented using `position:absolute` and some additional styling within the JavaScript code snippet above.
##### Accessibility Improvements
Ensure that your website meets accessibility standards by adding appropriate ARIA roles, labels,,and keyboard support
Example of an accessible button element :
“`HTML