Today we’d like to share a little 3D experiment with you. The idea is to show a mall map with all its floors in perspective. Additionally, we have a search in a sidebar that allows to filter mall spaces. Once a floor is selected, we show some pins as indicators for the different stores/spaces. When clicking on a pin, we show some more details of that space. We’ve mostly used CSS trickery for this, applying transitions that will rotate and move the levels by adding or removing classes. The levels are represented by inline SVGs.
The responsiveness of this concept is powered by the viewport unit vmin which allows us to use the smallest viewport side for sizing our elements.
This concept can be applied to any kind of floor map actually; any building that has several floors and spaces could be an interesting use case for this.
For the filtering and ordering of the spaces list in the sidebar we are using List.js, a great library for adding search, sort, filters and flexibility to tables, lists and various HTML elements.
The following is the initial view of the mall:
When clicking on a level or when clicking on a space in the sidebar, the respective level opens and the pins show:
Clicking on a pin will open the details for that space:
We hope you enjoy this little experiment and find it inspiring!
Amazing! sometime ago i did one with a lot of photos like “google maps street view” and people can visit shops in the mall, but your idea its more practical, a map with references and people can see it better
Awesome work. Thanks for tutorial, i’m initiating on SVG and have some questions: Which tools use to design svg (corel/freehand/other)?? How to work with result.. any web with tuts??
Many thanks in advance
This is such a good work, that can’t even express my feelings!!! Trying to change few bits and pieces to suit my needs (smarthouse) however it’s not that easy. Would be perfect to make configurator option with SVG editor, so anyone can build whatever he need…
By the way how to add expand button to the content menu, there is close button, but no expand, also whateve I put in content woun’t fit, how to configure that area, so roller would appear it the content does not fit?
Awesome ! I had exactly the same idea for a project recently, and you just did it ! 🙂 Thank you for this amazing work.
I think this is such a great piece of work and so glad this has been posted here.I just wondered if someone provide a brief tutorial on how to work with these files? Where I go to customise my very own building map etc. Any help would be greatly appreciates
What’s a mall?
Amazing,thx Mary Lou!!!
Awesome work, much appreciated! Have added a small fix to main.js to remove content__item–hover when the content area is closed and for when you switch between pins so that the title is hidden again. Other than that, it’s excellent to work with and get running.
Please could you share it?
1. How do you view replies to comments? I see the # of reply but have no way of viewing them.
2. I am trying to use my own VGA images for map but when I export out of AI and view my VGA code vs you VSG code they look completely different.
How can I get this done using my images?
Disregard question 1. I see the number above the Reply = # of comment not # of replies
This is great! I’m trying to figure out how do do something similar on a 2D scale for a dealers hall and artist alley for a small convention.
This is absolutely gorgeous!
Excellent work 🙂
hello I really love this project, I want to apply on my website. But my knowledge of css and jquery is really small. Can you help me to modify it? I need five floors than 4 floors. Please help me!
Thanks a lot.
Hi, excellent work. Is it possible to apply it using a map of my town?
Thank you for your answer
Oh, this is great for a website map, and that’s what I am doing right now. Can anyone be more talented than the Codrops guys?
Help me, svg editor for mac?
hello, I’m not a programmer, how can I modify to my needs Interactive Mall Map 3D?
Very good! Thank you! But not with IE.
First at all, I Apologize for my bad english, and excuse me , ¿what software you use to draw SVG the icons and the levels and take the coordinates and put them in html? or ¿how you do that?, any information is usefull, thank you in advance
Mary Lou = Great 🙂
very nice work >>> it will be excellent if there is a DB instead of list.js
brillant, would be terrific to be able to modify the map with an easy way ? Any tips or hints ? thanks
we can use this tool, http://www.cssplant.com/clip-path-generator
work, but still isnt easy
Awesome. One of the best interactions, I have seen.
it iiiiis the class room …
This demo is not working in IE. Please help me to solve these issues.
u guys are just doing awesome..
Thanks for sharing this project!
How would it be possible to make it work on IE11+?
ma’am can you help me customize it how did you make the inner blocks and is there any framework you used
nice Work!!! i really want to do something at least cloaser on that! where can i find more steps of this ‘tutorial’ plz? 😛
Can you help to me to show the image in the normal mode after a floor is selected? Or getting the xor y axis for dynamically placing the markers?
do you have an update in IE? Also Firefox is not showing the map. If you have a paid version or something that completes this free version please tell.
Early checks indicate that IE11 visitors probably have to be shown a simpler version of this map. We’re currently looking into adopting this concept and developing it into a full solution for one of our customers. Contact me at email@example.com if you’re interested.
Wouter van Dam
Is there a paid version?
We’re currently looking into converting this concept into a solution for one of our customers. Perhaps we can develop this into a paid version. Contact me at firstname.lastname@example.org if you’re interested.
Wouter van Dam
It’s really nice work!
How to always show the Navigation? `mallnav`