Moving Lightbox Gallery Component into a TAB

I've been having difficulty moving configured Lightbox Galleries into a TAB. There are several issues, first this Gallery is in a Block labeled "Lighthouse Gallery" then a Container (fluid) and below that are a

Div "Intro" Heading Paragraph Row "Photos" Column Link Image "imagename.jpg"

I cannot move the Block into a TAB, it just will not cooperate. I also cannot move a Container into a TAB, that is not how a Container works. So I have to dismantle the Lightbox Gallery and move the critical parts.

  1. Pull a Component <Div> down into Overview under the TAB Pane. Name the <Div> "Lightbox Gallery".
  2. HIghlight the new

<

div> and pull the HTML menu at the bottom up. Look at the Div tags that are highlighted, these need to show

<

div class="photo-gallery"> to do this click on ATTRIBUTES at the bottom and type "photo-gallery" into the class names. Check your work in the HTML. Close html. What this designation does is ensure the padding on the photos. 3. Now move the <Div> "Intro" in under TAB. 4. Next move the <Row> "Photos in under TAB and Row. 5. Now you can try your lightbox in under the TAB. It should work with proper spacing.

The next issue seems to be that the Lightbox is not as responsive as it used to be when it was under Block and Container. When I test the site and tighten up the site to XS width the lightbox stops shrinking. I think it might be a setting, but the Container was "fluid" and I moved the components out of that. We'll see.

We'll actually that is the way a normal lightbox works, and it displays fine in a Cell phone. Tested on a Block Lightbox gallery and they are the same. So the actions shown above will move a lightbox galllery into a tab.

First thing, the .container(-fluid) classes are primarily designed to make the .row/.col-xx-xx grid system space and align correctly. You only need technically need one.

For example the way you should do

<*body>
    <div class="container(-fluid)">
        <*p>...</p>
        <div class="row">
            <div class="col-md-12">
                ...
            </div>
        </div>
        <div class="carousel">
            ...
        </div>
    </div>
<*/body>

Not necessary

<*body>
    <div class="container(-fluid)">
        <*p>...</p>
    </div>
    <div class="container(-fluid)">
        <div class="row">
            <div class="col-md-12">
                ...
            </div>
        </div>
    </div>
    <div class="container(-fluid)">
        <div class="carousel">
            ...
        </div>
    </div>
<*/body>

For your Lightbox Gallery, find the class="tab-pane" in the class="tab-content" where your Lightbox is going to go.

In the Overview pane

  1. drag/drop DIV element into DIV with class="tab-pane"
  2. select that DIV element
  3. add class photo-gallery
  4. expand Block Lightbox Gallery
  5. expand .container for Lightbox
  6. drag/drop DIV "Intro" onto new DIV element that you add class photo-gallery to
  7. drag/drop ROW "Photos" onto new DIV element that you add class photo-gallery to
  8. delete Block Lightbox Gallery

Because you have <div class="container-fluid"> already, you don't need the supplied .container from the Lightbox. But you could always add a DIV and give it the container class and put it in the DIV with class photo-gallery and then put the DIV "Intro" and ROW "Photos" in it if you want.

It does add a little more left/right buffer space (container padding) if you did it.

Saj

Saj, you're keeping me on track here and I appreciate it! Might as well learn to do this right! Thanks. I currently have

 HTML
    Body
         Container  Main Header 
         Container Slides-Swiper
         Container Tabs Block Footer Basic

Container should be just inside of the <Body>

  HTML 
         Body
             Container (Only one)
                 Main Header
                 Carousel Tabs
             Container
         End of Body

To make this change, do I just drag a new COMPONENT container down into just below BODY and then drag each of my main elements up in the OVERVIEW area? --That's what I am going to try. Then I'll change the TAB Lightbox the way you suggest to.<br /> This forum is going to be littered with lots of thanks to you and Jo, but you deserve it. THANKS.

RE the Lightbox Gallery - That was what I did. I think I might change it how you suggest because of the extra space which I noticed.

Because you have

<

div class="container-fluid"> already, you don’t need

the supplied .container from the Lightbox. But you could always add a DIV and give it the container class and put it in the DIV with class photo-gallery and then put the DIV "Intro" and ROW "Photos" in it if you want. It does add a little more left/right buffer space (container padding) if you did it.

PS: I am finding the easiest way set up the screen is to pull the Overview up and use the "search" for Components. Its much faster and easier to get the components and I need the space in Overview sometimes.

I just put everything inside of <Body> inside of a new <Container> and found that

  1. Under the Tab #tab-7 Contacts that the extra <Row> <Column> that I used was pushing the contact fields right because I now had the Parent <Container> working properly, soo I just deleted those and the Contact fields work nicely now.

  2. Under Rates I had to have a <Row> <Column> <Table> now I can move <Table> up and delete Row and Column.

  3. Under Tab #8 I had some Custom Code that did not apply to anything, so I deleted it.

  4. Under Maps Tab#4 Location I Google "Map" under <Div> <Row> <Column> and it liked it that way and would not move up or out of <Div><Row><Column> so I left it.

  5. Tab#1 - Tab#5 are properly numbered then there is 9, 10 and 7 how do I get those numbered in order so they are #6,#7,#8? I tried overriding these using attributes and it accepted those changes but messed up the links so none of the tabs worked. I had to undo it all (a week ago)...

  6. Going to try the Lightbox Gallery change now. The website seems faster with just the one parent <Container> , there was definately too much extra stuff going on! Its going to be faster with Mobile too.

I will probably find a few more things like that moving forward.

Here is the link http://crimson-paper-3666.bss.design/

Saj, I reviewed your steps above with what I had done, and everything conformed, so I guess I happened to do it correctly. There is only one unclear part. The the elements that I dragged in that have all the Lightscape content DIV "intro" has class="intro" and the ROW "photos" has class="row photos".

In your item #6 and #7 are you just asking us to "drag" those into the new DIV with class="photo-gallery", but not to change the class? Correct?

It's really much faster now all all responsive widths and it is quite smooth and "fluid" now! No jumps or studders! Now on to getting the Calendar going.

My wife is going to love this. She manages the inquiries. Here is the 2006 version which used some interesting Html at the time but it is definitely outdated now http://www.mysticseacaptain.com/

I'm just suggesting what you should do, not actually saying do it this way. I realize that sometimes it doesn't come across as an opinion or suggestion.

You could leave it as it is, I just believe that I think it's better coding if it were to have cleaner coding.

Find the DIV with the class="intro" select it and then look at the Overview pane and the selected element is a DIV with the label Intro, which is why I stated in the Overview pane for my example. :)

The way the TAB's and other components work is based on an element triggering another element to do something. The app uses a numbering system for example.

<a href="#tab-1">First Tab</a>  <-- triggers the div with id="tab-1"
<a href="#tab-2">Second Tab</a> <-- triggers the div with id="tab-2"
<a href="#tab-3">Third Tab</a>  <-- triggers the div with id="tab-3"

<div class="tab-content">
    <div class="tab-pane active" role="tabpanel" id="tab-1"> <-- triggered by href="#tab-1"
        ...
    </div>
    <div class="tab-pane" role="tabpanel" id="tab-2">        <-- triggered by href="#tab-2"
        ...
    </div>
    <div class="tab-pane" role="tabpanel" id="tab-3">        <-- triggered by href="#tab-3"
        ...
    </div>
</div>

If you want to change a tab's link href="#tab-x" you also have to correct the corresponding <div class="tab-pane" role="tabpanel" id="tab-x"> to be the same number (x=number)

Probably easiest is in the HTML pane to do a find for tab-9 and change it to tab-6 then find the next instance of tab-9 and change it to tab-6 etc.. etc.. Does it matter, no, it's just an aesthetic thing really. It probably got out of order if you had deleted a tab or something like that.

Regarding "In your item #6 and #7 are you just asking us to “drag” those into the new DIV with class=”photo-gallery”, but not to change the class? Correct?", Correct, just dragging and dropping the element in place.

You want a couple more things to work on :) Your using the headings in the .main-header improperly. Also, hehe stop replicating stuff to hide and show based on screen sizes, your over doing it there. It's much cleaner to understand the media query usage properly rather then replicate content over and over and then hide/showing the same thing.

For example, based on what you have, I think it would be better like this.

HTML

<div class="main-header">
    <h1 class="text-center text-muted hidden-xs">Historic Seaport Home & Garden Rental</h1>
    <h2 class="text-center text-info">1853 Captain Wheeler House</h2>
    <h3 class="text-center text-muted">Mystic Connecticut Vacation Rental</h3>
</div>

CSS

@media (max-width:767px) {
  .main-header h2 {
    margin-top:10px;
    margin-bottom:10px;
    font-size:18px;
  }
}

@media (max-width:767px) {
  .main-header h3 {
    margin-top:10px;
    margin-bottom:10px;
    font-size:14px;
  }
}

@media (max-width:991px) and (min-width: 768px) {
  .main-header h1 {
    margin-top:10px;
    margin-bottom:10px;
    font-size:18px;
  }
}

@media (max-width:991px) and (min-width: 768px) {
  .main-header h2 {
    margin-top:20px;
    margin-bottom:10px;
    font-size:24px;
  }
}

@media (max-width:991px) and (min-width: 768px) {
  .main-header h3 {
    margin-top:10px;
    margin-bottom:10px;
    font-size:18px;
  }
}

@media (min-width:992px) {
  .main-header h1 {
    margin-top:10px;
    margin-bottom:10px;
    font-size:18px;
  }
}

@media (min-width:992px) {
  .main-header h2 {
    margin-top:20px;
    margin-bottom:10px;
    font-size:30px;
  }
}

@media (min-width:992px) {
  .main-header h3 {
    margin-top:10px;
    margin-bottom:10px;
    font-size:18px;
  }
}

Based on what you have, you should be able to copy/paste the entire CSS block as is and then update your HTML accordingly, if you want. :)

Saj

P.S. I goofed and forgot the .main-header on the media queries so I updated that so you wouldn't effect all headings :)

Nice looking, with a dramatic change, well integrated with the site, does not look google. https://churchm.ag/pretty-google-calendar-embeds-with-fullcalendar/ https://fullcalendar.io/ https://fullcalendar.io/docs/ https://www.daisyhill-lynmouth.co.uk/booking.html

The Google side of things:

  1. Login to your google account and Calendar from your computer, not your phone.
  2. Google Calendar - Create the public calendar, share editing with those needed, make it public only free/busy times.<br /> Follow these instructions to customize Google Calendar as best you can. http://support.activemobi.com/knowledgebase/articles/332043-how-to-embed-google-calendar-into-mobile-website
  3. Gear Icon -> Settings -> Calendars -> click the title of the calendar you’d like to embed\ Once you’re on this page you’ll see a whole section that is described as “Embed this Calendar” and over to the right you’ll notice a link that says “Customize the color, size, and other options.”
  4. Google Calendar - Go to Settings for the Calendar and copy the Embedding iframe.
  5. Save it in a file somewhere.

Since we just want potential guests to View the Reserved and Open Dates, the calendar is most effective when it is small with a monthly view.

<iframe src="https://calendar.google.com/calendar/embed?height=340&wkst=1&bgcolor=%23ffffff&src=[Your own calendar number in here]group.calendar.google.com&color=%231B887A&ctz=America%2FNew_York" style="border:solid 1px #777" width="300" height="340" frameborder="0" scrolling="no"></iframe>

This is small enough so it does not have to be responsive at XS size because it fits and its readily visible. Its good enough now, and I will be improving it later and trying to add some better style to it and perhaps make it responsive.

I think the site above with help with styling.

Whoops, I posted to the wrong thread here! Saj, I see you've got some more things for me to fix! I understand the drag DIV Intro now. yes. I think I'll fix the Tabs and Tab Content numbers again. This time I'll be more careful. Then I'll try those simpler/better Heading changes. (I thought I was being clever, but I did not have the single "Parent" <Container - fluid> just under the Body & wrapping around everything earlier)! Little details make a huge difference. Thank you!

There does not seem to be a way to delete #4301 and #4302 I have copied them to the correct thread now. Went to my profile, it lists my posts but I can't delete these two. Perhaps someone else can? Thanks.

Saj, It works like a Charm! The CSS controls the 3 heading completely, even when the show or not. Nice! Thank you. I'm starting to understand the power of CSS. I'm going to use this concept to fix a few little things about positioning of text. etc. Possibly the lower the Carousel Titles and slide buttons. Thank you!

PS The CSS was easiest to paste in one group at a time, then it just formated correctly and I could move to the next CSS group.<br /> I've been making different CSS files for each thing I do. This one was Header.css

I also have Lightbox-Gallery.css Map-Clean.css google-calender-embed.css Maybe one of these is standard, but the other two I made.

Is that OK to do?

It's fine, it's not necessarily ideal but it's fine. Whatever is easier and works for you :)

When you drag in a component, it may come with it's own CSS file which is why you see all of those.

If :) you were to add the following CSS, it should help with any tabs wrapping when on mobile screens.

@media (max-width:767px){
    .nav-tabs > li > a {
        padding: 10px 9px;
    }
}

@media (min-width:768px) and (max-width:991px){
    .nav-tabs > li > a {
        padding: 10px 14px;
    }
}

Saj

Yes, it does help! Thank you again Saj. Nice

So is there an easy way to "Import CSS file" into the styles.css?<br /> That would be a nice addition. I suppose I can just cut and paste, not so hard.

...But that is the preferred way... to add it into "styles.css" ? Thanks

There isn't a copy all, but you could copy each CSS rule into the styles.css.

Click on the STYLES menu in the Design pane to expand it, double click on the CSS file you want to copy "from". Starting at the of the stylesheet in the app, on the right hand side of each CSS rule is a triple stacked dotted menu, click and select "Copy to" and then select styles.css. You have to do that for each rule and each CSS file you want to condense to a single file.

Easier way is export the project to someplace like a folder on your desktop so your desktop screen doesn't get littered with files. Open all the CSS files in an external editor like Notepad++ or Notetab. I mainly use Notepad++. You can then copy an entire CSS files contents to the contents of the styles.css until you have them all copied. Then you can go back into the BSS app and in the Design pane in the Styles menu right click and select "Import CSS File" and then find and select your updated styles.css file and import it. Then you can delete the other CSS files.

Saj

Yep I second Saj's second option for editing it outside the app and then reimporting it. I do that when there is a lot of changes I need to make, or a lot of cleanup etc.

If you're just moving things from one file (any, doesn't have to be a custom file it's coming "from") to another "custom" CSS file it's easily done in BSS now.

There isn't a "copy all", persay, but you can easily drag your mouse to highlight what you want to copy and then hit the ctrl+c to copy what is highlighted.

Then open the custom CSS file in BSS that you want to paste it into.

Click where you want to insert which will show a blue line when you reach a spot between classes or at the end of the css file, and it will insert a placeholder type of class and it's already highlighted. DON'T click on it at all so that it will stay highlighted.

Now do ctrl+v and paste your classes and you now have copied them all over.

So in a sense you can copy all, just need to manually highlight it. Might have a ctrl+a highlight all in there that might work, I've never tried it.

With the new version of BSS, I have found that Attributes that I added via the lower left HTML (Attributes) were not recognized by the new expanded OPTIONS section, so I went through all the <images> in the Slideshow and removed all those ATTRIBUTES and added them from the OPTIONS pane.

I guess BSS does not recognize and incorporate ATTRIBUTES entered from the HTML area even when they are the same in OPTIONS area! Perhaps these should be recognized & incorporated (provided they are entered correctly) so that the user can access them in the OPTIONS panel.