I've created http://jira.xwiki.org/browse/XWIKI-11251
I didn't used LESS and I've added explicitly the 'row' and 'col-xs-12' classes in order to be easy for developers to see that it's a grid structure. Thanks for helping me fix this. There are other containers in XWiki that could be transformed in rows (like #mainContentArea, #xdocFooter, etc.) but all these containers depends on the skin and are not as easily customizable as #xwikicontent. Thanks, Caty On Fri, Oct 17, 2014 at 5:57 PM, Anca Luca <[email protected]> wrote: > On Fri, Oct 17, 2014 at 4:55 PM, Anca Luca <[email protected]> wrote: > > > Hi Cati, > > > > On Fri, Oct 17, 2014 at 3:03 PM, Ecaterina Moraru (Valica) < > > [email protected]> wrote: > > > >> On Fri, Oct 17, 2014 at 1:45 PM, Anca Luca <[email protected]> wrote: > >> > >> > Hello guys, > >> > > >> > I have tried to learn a bit of bootstrap last night to figure out how > >> to do > >> > things, and I did the following test page to test the grid system: > >> > > >> > > >> > > >> > http://incubator.myxwiki.org/xwiki/bin/view/Sandbox/TestFlamingo?skin=flamingo > >> > > >> > I have a few questions related to using the grid system (I didn't yet > >> get > >> > to other parts of bootstrap/flamingo): > >> > The questions will get fuzzy-er and fuzzy-er as they advance. Please > >> bare > >> > with me, I have a lot of questions and little knowledge about > >> bootstrap, I > >> > am trying to figure out how should it be used in general (it's > supposed > >> to > >> > be simple but I don't feel like it) and if there are some special > rules > >> of > >> > usage in XWiki. > >> > > >> > 1/ What would be the proper structure if we wanted to make a grid > >> layout in > >> > a wiki page ? > >> > My experiments show that the first example, div class=row and then > >> columns > >> > inside will not work (example "doesn't fit properly"). The second > >> example > >> > works, but that means we need to add .container-fluid all around that. > >> > Let's assume for the next questions that we're using the > >> .container-fluid > >> > structure. > >> > > >> > >> Theoretical you cannot nest .containers since they add padding and you > >> will > >> not be able to align the inner grids (they will be shifted with the > value > >> of the padding) (that's why the rows is using negative margin). > >> > >> In theory the good solution is the first one (just with the row). Why is > >> not working is because on #xwikicontent we have 'overflow: auto'. If you > >> remove that line, the grid should be displayed correctly (from the text > >> alignment point of view). Why we have 'overflow: auto'? Because of > >> http://jira.xwiki.org/browse/XWIKI-10791 and because in > XWiki.XWikiSyntax > >> we have very big tables, etc. I don't have a clear solution for this > >> problem, maybe is simpler than what I think, but the big issue is that > in > >> #xwikicontent we have, depending on the context, either layout > containers, > >> either text (for wiki pages). The user's content needs to be overflowed, > >> while when doing interface the developers are in control of the grid and > >> know 'exactly' was goes in. > >> > >> > >> > >> > 2/ On the bootstrap website here > >> > http://getbootstrap.com/css/#overview-container I found that "neither > >> > container is nestable" . I don't really know how to understand this > >> phrase, > >> > especially in the context of needing to put it in the content of my > >> page in > >> > order to make a grid. Is it dangerous to put it? Could it end up being > >> > nested and thus not good? > >> > 3/ On the bootstrap website here http://getbootstrap.com/css/#grid I > >> found > >> > that any row must be in a container (which matches my usage). But I am > >> > looking at the .document-header which contains the title and the edit > >> > buttons, and it is not in a container. Or is it? If that one is in a > >> > container, does that mean that we have a "global" container in the > page > >> in > >> > XWiki which would also surround the page content (#xwikicontent) and > >> then > >> > if I put another .container-fluid in the document content in order to > >> make > >> > the grid I would be nesting containers? > >> > > >> > >> Flamingo is not a clean skin. We still haven't a response to the > Standards > >> discussion http://design.xwiki.org/xwiki/bin/view/Proposal/UIStandards > . > >> What do you do when writing application in Flamingo? Do you keep some of > >> the old classes? do you replace them with Bootstrap ones? In Flamingo we > >> have a mix :) depending on whom did the commit. You will see places > where > >> the old structure is kept and other places where you have Boostrap > >> classes. > >> Would you have expected to have something like "<div > >> id='xwikimaincontainer' class='container-fluid'>"? This is a solution > too, > >> but it increases the HTML. Also maybe we would want to add the Bootstrap > >> classes and remove the old ones (in order to keep the structure clean), > >> but > >> no one know if that ids and classes are used in some JS somewhere in the > >> platform and thus you shouldn't remove them. > >> > > > > Indeed, removing the ids can be dangerous. > > > > It would have been easier to read the html, but I could do it with the > > links under. > > > > > >> So in order not to add Bootstrap classes, but have their functionality, > we > >> 'cheated' by using LESS (mixins and extends). For example > >> > >> > https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/less/layout.less#L4 > >> and > >> > >> > https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/less/layout.less#L8 > >> With LESS and Boostrap mixins we made contentcontainer a .row without > >> explicitly writing it in the structure. You can take a look at > layout.less > >> (and actually more less files in less/ folder). I assume some things > might > >> not be perfect since Flamingo was done in a hurry. > >> > > > > Indeed these links help a lot, now it all makes more sense. Though it's > > still a bit confusing to have to go through all the containers that are > not > > styled, but they need to be there for legacy purposes so it's fine (I > just > > need to learn to ignore stuff like #mainContentArea or > > #xwikimaincontainerinner ). > > > > Now about working with rows (and only with rows) in the content of a > page: > > I made an experiment from firebug, and put the #xwikicontent inside a div > > with class .row, and also made #xwikicontent a 12 size column. > > Why I did this? because it sort of felt logical to me that, if its > sibling > > .document-header is a row, then xwiki content would also be just a huge > > column in a row. This way the row that I put in the document content, in > > the example "Doesn't fit properly" becomes a row in a column, as the > > http://getbootstrap.com/css/#grid-nesting explains. > > > > And this fits properly, I forgot to mention. > > > > This sort of matches my intuition that the content of the document would > > be a big column by default and if we want to divide it we can divide it, > if > > we don't we just put content in there. > > I also tried this example with a huge table (as you said for XWIKI-10791) > > and xwikicontent scrolled properly. > > Also, using this setup, my red column text started at the same position > > (on the left) as the title of the page, as opposed to the previous "Fits > > properly" example, which was fitting properly but the text of the red > > column was starting 15px to the right, so if I would remove the border of > > the column it would look bad. > > > > Now, I have no idea if my logic makes sense. In the current version of > the > > skin, .main is also a column, and so #xwikicontent would be the content > of > > this column. If I understood corectly from the bootstrap website, It > would > > be ok to have a row in it (.document-header) and then just content or > > another row if somebody puts another row in the the #xwikicontent. Also, > > putting a row with only just one column in it (the .row and #xwikicontent > > column that I mentioned above) should be the same as not putting a row at > > all. So this logic should also make sense, but the first one feels better > > to me because the direct parent of the content that I would control > > (document content) would be a dedicated column, so a clean "canvas" to > > decorate and layout however one feels. > > > > > > How do you feel about the idea above, with having the xwikicontent itself > > be a column? > > > > > > Thanks, > > Anca > > > > > > > >> > >> > >> > >> > 4/ I didn't fully understand this story about the negative margins > that > >> > compensate for padding in order for columns to align with non-grid > >> > content... ( 5th and 6th bullets in here > >> http://getbootstrap.com/css/#grid > >> > ). > >> > I did some examples in my test page in section "Fits properly", and I > >> would > >> > like to understand better this principle / approach. What would be the > >> > correct way to mix & match full width elements and grid in the > document > >> > content? (by full width I mean either a paragraph with text, or other > >> > elements that need to take up the whole width of the document content > >> area > >> > #xwikicontent). > >> > a) anything that has to be full-width should be out of a > >> .container-fluid > >> > and whenever I want columns I make a new .container-fluid? -- the text > >> > "this is the " in section Fits Properly > >> > b) can I put stuff in a container fluid? If I do, then why is it > >> indented? > >> > The text "dancing" in section Fits Properly > >> > c) I read in BS documentation that only columns should be direct > >> children > >> > of .row so the text "text" in section Fits Properly is not an option > >> > (although correctly displayed). Please confirm > >> > > >> > >> Theoretically you should work just with rows and columns, see > >> http://getbootstrap.com/css/#grid-nesting > >> Of course some things might work :) since it's HTML and CSS, and simple > >> text is not very complicated, depends if you add more complex structures > >> and than expect to have correct margins and responsive behavior. > >> > >> All your other questions might be already answered by the above > mentions. > >> Take some time to play with the grid and as I said, some things in > >> Flamingo > >> might need to be fixed. > >> > >> Thanks, > >> Caty > >> > >> > >> > d) I added a third column, with size 12 at the end, to get something > >> full > >> > width. I guess this is one approach, but then its text is not aligned > >> with > >> > the left of the column, but, because it is a column itself, it has a > >> > padding of 10px. So the texts are aligned (text in half column with > >> text in > >> > full width but the full width text is not aligned with the border of > the > >> > half column). Is it a bad practice to put borders directly on the > >> > bootstraps column? Should I be putting border on an element that I > have > >> put > >> > inside the bootstrap column? In this case, I would get a lot of space > >> > between the left side of the screen and my text. Maybe some of that > >> space > >> > gets colored in a different color theme? > >> > e) should I be matching and mixing full-width stuff and grid stuff at > >> all? > >> > Is this a good idea? or if I need a part of the content in a grid > then I > >> > just make all content a grid and make col-12 for all the stuff that > >> needs > >> > to be full-width? > >> > 5/ Also, I just noticed now that the content of a page is not (in) a > >> column > >> > ( #xwikicontent ). I was thinking that it could be a 12 size column > >> which > >> > we could split further by using this strategy: > >> > http://getbootstrap.com/css/#grid-nesting . Since the document-header > >> is a > >> > row with columns, I was thinking that the lower part of the page could > >> be > >> > as well... This way, aligning stuff inside could be more natural (see > >> > subquestion 4 d before). > >> > > >> > Thank you a lot for your patience, I do take RTFMs as I am sure there > >> are > >> > parts of the internet that could enlight me on the topic. What I would > >> like > >> > to know is how did we plan to use bootstrap grid in the context of > XWiki > >> > for custom stuff, if there are some special rules... > >> > > >> > Anca > >> > _______________________________________________ > >> > devs mailing list > >> > [email protected] > >> > http://lists.xwiki.org/mailman/listinfo/devs > >> > > >> _______________________________________________ > >> devs mailing list > >> [email protected] > >> http://lists.xwiki.org/mailman/listinfo/devs > >> > > > > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

